Cod sursa(job #1610899)

Utilizator RaduMirceaAndreiRadu Mircea Andrei RaduMirceaAndrei Data 23 februarie 2016 20:05:02
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
# include <fstream>
using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
int n,c,v[1000010],i,k,nr;
int main () {
    fin>>n;
    c=-1;
    for(i=1;i<=n;i++){
        fin>>v[i];
        if(k==0){
            c=v[i];
            k=1;
        }
        else{
            if(v[i]==c)
                k++;
            else
                k--;
        }
    }
    if(c==-1)
        fout<<c<<"\n";
    else{
        for(i=1;i<=n;i++){
            if(c==v[i]){
                nr++;
            }
        }
        if(nr>=n/2+1)
            fout<<c<<" "<<nr<<"\n";
        else
            fout<<-1;
    }
}