Cod sursa(job #1130845)
| Utilizator | Data | 28 februarie 2014 16:00:39 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.72 kb |
/*
Keep It Simple!
*/
#include<stdio.h>
int n,k,v[1000005],cand,cnt;
int main()
{
freopen("elmaj.in","r",stdin);
freopen("elmaj.out","w",stdout);
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d",&v[i]);
for(int i=1;i<=n;i++)
{
if(k == 0)
{
cand = v[i];
k = 1;
}
if( v[i] == cand )
k++;
else
k--;
}
if(cand<1)
{
printf("-1");
return 0;
}
for(int i=1;i<=n;i++)
if(v[i] == cand)
cnt++;
if(n/2 <= cnt)
{
printf("%d %d",cand,cnt);
return 0;
}
printf("-1");
return 0;
}
