Cod sursa(job #907381)

Utilizator SagunistuStrimbu Alexandru Sagunistu Data 7 martie 2013 21:58:22
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <iostream>
#include <fstream>
#include <algorithm>

using namespace std;
int a[1000001];
int main()
{ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
int n,i,nr,ok,elem;
fin>>n;
for(i=1;i<=n;i++)
    fin>>a[i];
sort(a+1,a+n+1);
for(i=1,nr=0,ok=1;i<=n&&ok;i++)
    {if(a[i]==a[i+1])
        nr++;
     else
        if(++nr>=n/2+1)
            {ok=0;
             elem=a[i];
            }
         else
            nr=0;
    }
if(ok)
    fout<<"-1";
else
    fout<<elem<<" "<<nr;
    return 0;
}