Cod sursa(job #941624)
| Utilizator | Data | 19 aprilie 2013 10:52:13 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.39 kb |
#include<cstdio>
static int v[1000005];
int main(void)
{
freopen("elmaj.in","r",stdin);
#ifdef INFOARENA
freopen("elmaj.out","w",stdout);
#endif
int n,c=0,e;
scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%d",v+i);
if(c==0)
e=v[i];
c+=e==v[i]?1:-1;
}
int nr=0;
for(int i=0;i<n;i++)
if(v[i]==e)
nr++;
if(nr>=n/2+1)
printf("%d %d",e,nr);
else
puts("-1");
return 0;
}
