Cod sursa(job #695229)
| Utilizator | Data | 28 februarie 2012 11:21:30 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.46 kb |
#include <cstdio>
long N, i, k, nr, max, a[1000001];
int main() {
freopen("elmaj.in","r",stdin);
freopen("elmaj.out","w",stdout);
scanf("%ld", &N);
for (i = 1; i <= N; ++i) {
scanf("%ld", &a[i]);
if (k == 0) {
k = 1;
max = a[i];
} else if (max == a[i]) {
++k;
} else {
--k;
}
}
nr = 0;
for (i = 1; i <= N; ++i) {
if (max == a[i]) ++nr;
}
printf("%ld %ld\n", max, nr);
return 0;
}