Cod sursa(job #1168255)

Utilizator MacWonkMihai Alexandru Cosmin MacWonk Data 7 aprilie 2014 18:32:49
Problema Elementul majoritar Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream>
using namespace std;
ifstream f("elmaj.in");
ofstream g("elmaj.out");
int a[1000005];
int i,n,cand,k,nr;
int main()
{
    f>>n;
    for(i=1;i<=n;++i) f>>a[i];
    cand=-1; k=0;
    for(i=1;i<=n;++i)
    {
        if(k==0)
        {
            cand=a[i];
            k=1;
        }
        else if(a[i]==cand) ++k;
        else --k;
    }
    if(cand<0) g<<"-1"<<'\n';
    else
    {
        nr=0;
        for(i=1;i<=n;++i)
            if(a[i]==cand) ++nr;
        if(nr>n/2) g<<cand<<'\n'<<nr<<'\n';
        else g<<"-1"<<'\n';
    }
    return 0;
}