Cod sursa(job #969001)

Utilizator SebaRabaRaba Sebastian-Setafan SebaRaba Data 3 iulie 2013 11:53:01
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>
#define Max 1000005
using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");

int N,X[Max],cand,k,Sol;

int main()
{
    fin>>N;
    for(int i=1;i<=N;i++)
        {
            fin>>X[i];
        }


    for(int i=1;i<=N;i++)
        {
            if(k==0)
                {
                    cand=X[i]; k=1;
                }
            else
                if(X[i]==cand)
                    k++;
                else
                    k--;
        }


    for(int i=1;i<=N;i++)
        if(X[i]==cand) Sol++;
            if(Sol<N/2+1)
      fout<<"-1\n";
    else
        fout<<cand<<" "<<Sol<<"\n";
    return 0;
}