Cod sursa(job #1061973)

Utilizator auRSTARHreapca Aurelian auRSTAR Data 20 decembrie 2013 15:48:18
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Teme Pregatire ACM Unibuc 2013 Marime 0.46 kb
#include<cstdio>
#include<fstream>
using namespace std;
ifstream f("elmaj.in");
ofstream g("elmaj.out");
int n,i,A[1000010],cnt,C;
int main()
{

    f>>n>>A[1];C=A[1],cnt=1;
    for(i=2;i<=n;i++)
    {
        f>>A[i];
        if(A[i]==C)cnt++; else cnt--;
        if(cnt<0)C=A[i],cnt=1;
    }
    if(!cnt){g<<"-1";return 0;}
    cnt=0;
    for(i=1;i<=n;i++)
        if(A[i]==C)cnt++;
    if(cnt>=(n/2)+1)g<<C<<" "<<cnt; else g<<"-1";
    return 0;
}