Cod sursa(job #1291824)
| Utilizator | Data | 13 decembrie 2014 12:21:16 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.69 kb |
#include <cstdio>
using namespace std;
int i, c, nr, nr1, n, a[1000005];
int main()
{
freopen("elmaj.in","r",stdin);
freopen("elmaj.out","w",stdout);
scanf("%d",&n);
for(i=0;i<n;i++) scanf("%d",&a[i]);
c=0; nr=0;
for(i=0;i<n;i++)
{
if(nr==0)
{
nr=1;
c=a[i];
}
else
{
if(c!=a[i])
{
nr--;
}
else
{
nr++;
}
}
}
nr1=0;
for(i=0;i<n;i++)
{
if(a[i]==c) nr1++;
}
if(nr1>=n/2+1) printf("%d %d",c,nr1);
else printf("-1");
return 0;
}
