Cod sursa(job #974544)

Utilizator mitrutstrutMitrea Andrei Ionut mitrutstrut Data 17 iulie 2013 14:42:36
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 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;
}