Cod sursa(job #1122502)
| Utilizator | Data | 25 februarie 2014 18:34:01 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.6 kb |
#include <cstdio>
const int Q=1000000;
int v[Q+1];
int main()
{
freopen("elmaj.in","r",stdin);
freopen("elmaj.out","w",stdout);
int n;
scanf("%d",&n);
int x=-1, nr=0;
for(int i=1; i<=n; i++)
{
scanf("%d",&v[i]);
if(v[i]==x)
nr++;
else if(nr>0)
nr--;
else
{
nr=1;
x=v[i];
}
}
int rez=0;
for(int i=1; i<=n; i++)
if(v[i]==x)
rez++;
if(rez>n/2)
printf("%d %d",x,rez);
else
printf("-1");
return 0;
}
