Cod sursa(job #1649799)

Utilizator victorobamavictor olaru victorobama Data 11 martie 2016 15:09:29
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include <fstream>

using namespace std;
ifstream f("elmaj.in");
ofstream g("elmaj.out");

int cand,k,i,v[1000001],nrap,n;

int main()
{
    f>>n;cand=-1;k=0;
    for(i=1;i<=n;i++)f>>v[i];
    for(i=1;i<=n;i++)
   {
       if(k==0){cand=v[i];k++;}
    else if(v[i]==cand)k++;
    else if(v[i]!=cand)k--;

   }
    for(i=1;i<=n;i++)
        if(v[i]==cand)nrap++;
    if(nrap>=n/2+1)g<<cand<<' '<<nrap<<'\n';
    else g<<-1;
    f.close();
    g.close();
    return 0;
}