Cod sursa(job #638607)
Utilizator | Iorgulescu Calin calinux | Data | 21 noiembrie 2011 03:15:04 |
---|---|---|---|
Problema | Elementul majoritar | Scor | 80 |
Compilator | c | Status | done |
Runda | Arhiva educationala | Marime | 0.5 kb |
#include <stdio.h>
int n, a[1000000];
int main(void) {
freopen("elmaj.in", "r", stdin);
freopen("elmaj.out", "w", stdout);
register int i, el, count;
int el_count;
scanf("%d\n", &n);
el = -1;
count = 0;
for (i = 0 ; i < n ; i++) {
scanf("%d ", a + i);
if (a[i] == el)
count++;
else
if (count > 0)
count--;
else
el = a[i],
count = 1;
}
el_count = 0;
for (i = 0 ; i < n ; i++)
if (a[i] == el)
el_count++;
printf("%d %d\n", el, el_count);
return 0;
}