Cod sursa(job #1044282)
Utilizator | Sirius roby2001 | Data | 29 noiembrie 2013 16:13:23 |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.52 kb |
/*
Keep It Simple!
*/
#include<stdio.h>
int n,cand = -1,k = 0,v[1000069],nr;
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 > 0 )
{
for(int i=1;i<=n;i++)
if ( v[i] == cand )
nr++;
}
if( nr > n/2 )
printf("%d %d",cand,nr);
else
printf("-1");
}