Cod sursa(job #812918)
Utilizator | Marian Darius dariusdarius | Data | 14 noiembrie 2012 18:05:17 |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.62 kb |
#include<stdio.h>
int a[1000005];
int main()
{
freopen("elmaj.in","r",stdin);
freopen("elmaj.out","w",stdout);
int n,i,c,nr=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
c=a[1];nr=1;
for(i=2;i<=n;i++)
if(a[i]==c)
nr++;
else
{
nr--;
if(nr==0)
{
c=a[i];
nr=1;
}
}
nr=0;
for(i=1;i<=n;i++)
if(c==a[i])
nr++;
if(nr>n/2)
printf("%d %d\n",c,nr);
else
printf("-1\n");
return 0;
}