Cod sursa(job #643331)
| Utilizator | Data | 3 decembrie 2011 14:35:47 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 80 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.49 kb |
#include <iostream>
#include<cstdio>
using namespace std;
int n,i,x[1000001],m,c;
int main()
{
freopen("elmaj.in","r",stdin);
freopen("elmaj.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++)scanf("%d",&x[i]);
m=x[1];c=1;
for(i=2;i<=n;i++)
{
if(x[i]==m){c++;continue;}
c--;
if(c<0){c=1;m=x[i];}
}
for(i=1,c=0;i<=n;i++)
if(x[i]==m)c++;
if(c<=n-c)printf("-1\n");
else printf("%d %d",m,c);
return 0;
}
