Cod sursa(job #936684)

Utilizator oprea1si2si3Oprea Sebastian oprea1si2si3 Data 8 aprilie 2013 12:16:18
Problema Elementul majoritar Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include<fstream>
using namespace std;
ifstream in("elmaj.in");
ofstream out("elmaj.out");
int n,k,cand,i,contor;
long long v[1000010];
int main ()
{
    in>>n;
    for(i=1;i<=n;i++)
        in>>v[i];
    cand=v[1];
    for(i=2;i<=n;i++)
        {
            if(k==0)
                {
                    k=1;
                    cand=v[i];
                }
            else
                if(v[i]==cand)
                    k++;
                else
                    k--;
        }
    for(i=1;i<=n;i++)
        if(v[i]==cand)
            contor++;

    if(contor>=n/2+1)
        out<<cand<<" "<<contor<<'\n';
    else
        out<<"-1"<<'\n';

    in.close();
    out.close();
    return 0;
}