Cod sursa(job #662444)
| Utilizator | Data | 16 ianuarie 2012 18:37:30 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.54 kb |
#include <cstdio>
#define MAXN 1000010
int main(){
freopen("elmaj.in", "r", stdin);
freopen("elmaj.out", "w", stdout);
int N, i, pair, cnt;
static int A[MAXN];
scanf("%d", &N);
for(i=0; i<N; i++)
scanf("%d", A+i);
cnt=0; pair=0;
for(i=0; i<N; i++){
if(!cnt){
pair=A[i];
cnt=1;
}
else if(A[i] == pair)
cnt++;
else
cnt--;
}
cnt=0;
for(i=0; i<N; i++)
if(A[i] == pair)
cnt++;
if(cnt > (N>>1))
printf("%d %d\n", pair, cnt);
else
printf("-1\n");
return 0;
}
