Cod sursa(job #1527237)
| Utilizator | Data | 17 noiembrie 2015 22:24:02 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.39 kb |
#include <cstdio>
int v[1000005];
int main(){
freopen("elmaj.in","r",stdin);
freopen("elmaj.out","w",stdout);
int i,k,x,n,max;
scanf("%d",&n);
for(i=0;i<n;++i) scanf("%d",&v[i]);
x=v[0];
for(i=2,k=1;i<n;++i){
if(v[i]==x) k++;
else k--;
if(k<1){ x=v[i]; k=1;}
}
for(i=0,k=0;i<n;++i) if(v[i]==x) k++;
if(k>=n/2+1) printf("%d %d",x,k);
else printf("-1");
return 0;
}
