Cod sursa(job #1009970)
Utilizator | Data | 14 octombrie 2013 01:11:27 | |
---|---|---|---|
Problema | Elementul majoritar | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.49 kb |
#include<stdio.h>
#include<map>
using namespace std;
int N,x[1000100];
map<int,int> M;
int main()
{
freopen("elmaj.in","r",stdin);
freopen("elmaj.out","w",stdout);
scanf("%d",&N);
for(int i=1;i<=N;++i)
{
scanf("%d",&x[i]);
M[x[i]]=M[x[i]]+1;
}
for(int i=1;i<=N;++i)
{
if(M[x[i]]>N/2)
{
printf("%d\n",x[i]);
return 0;
}
}
printf("%d\n",-1);
return 0;
}