Cod sursa(job #1002736)
Utilizator | Data | 28 septembrie 2013 17:22:42 | |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.64 kb |
#include<stdio.h>
#include<algorithm>
using namespace std;
int v[1000002];
int main()
{
freopen("elmaj.in","r",stdin);
freopen("elmaj.out","w",stdout);
int n,i,l=0,max=0,nr;
scanf("%d",&n);
for(i=1;i<=n;++i)
scanf("%d",&v[i]);
sort(v+1,v+1+n);
++n;
for(i=1;i<=n;++i)
{
if(v[i]==v[i-1])
++l;
else
{
if(l>max)
{
max=l;
nr=v[i-1];
}
l=1;
}
}
--n;
if(max>n/2)
printf("%d %d\n",nr,max);
else
printf("-1\n");
return 0;
}