Cod sursa(job #1184482)

Utilizator gbibBacotiu Gabi gbib Data 12 mai 2014 20:32:35
Problema Elementul majoritar Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <fstream>

using namespace std;
ifstream in("elmaj.in");
ofstream out("elmaj.out");
int a[1000000];
int main()
{int n,i,j,cand,cont,k;
in>>n;
cand=-1;
k=0;
for(i=1;i<=n;i++)
{
    in>>a[i];
    if(k==0)
    {
        k=0;
        cand=a[i];
    }
    else
        if(a[i]==cand) k++;
        else k--;

    if(cand<0)
        {out<<-1; i=-1;}
}
cont=0;
for(i=1;i<=n&&cand;i++)
{
    if(cand==a[i])
        cont++;
}
if(cont>=n/2+1)
    out<<cand<<" "<<cont<<'\n';
else out<<-1;
    return 0;
}