Cod sursa(job #643335)
Utilizator | Data | 3 decembrie 2011 14:39:15 | |
---|---|---|---|
Problema | Elementul majoritar | Scor | 0 |
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,*p;
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(p=x+1;*p;p++)
{
if(*p==m){c++;continue;}
c--;
if(c<0){c=1;m=*p;}
}
for(p=x,c=0;*p;p++)
if(*p==m)c++;
if(c<=n-c)printf("-1\n");
else printf("%d %d",m,c);
return 0;
}