Cod sursa(job #2839502)

Utilizator BalasaRaduBalasa Radu BalasaRadu Data 26 ianuarie 2022 00:18:14
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include <bits/stdc++.h>
using namespace std;

ifstream fin ("elmaj.in");
ofstream fout("elmaj.out");

const int dim=1000009;

int n,v[dim];

signed main(){
        fin>>n;
    for(int i=1;i<=n;i++){
        fin>>v[i];
    }
    int candidat=0,cnt=0;
    for(int i=1;i<=n;i++){
        if(v[i]==candidat){
            cnt++;
        }
        else{
            cnt--;
        }
        if(cnt<=0){
            cnt=1;
            candidat=v[i];
        }
    }
    int nr=0;
    for(int i=1;i<=n;i++){
        if(v[i]==candidat){
            nr++;
        }
    }
    if(nr>n/2){
        fout<<candidat<<' '<<nr;
    }
    else{
        fout<<-1;
    }
}