Cod sursa(job #2289550)
| Utilizator | Data | 24 noiembrie 2018 19:47:21 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 90 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.59 kb |
#include <stdio.h>
#include <unordered_map>
using namespace std;
unordered_map<int, int> m;
int N;
int main() {
freopen("elmaj.in", "r", stdin);
freopen("elmaj.out", "w", stdout);
scanf("%d", &N);
int nr_ap = -1;
int elm_maj = -1;
for (int i = 0; i < N; ++i) {
int val;
scanf("%d", &val);
m[val]++;
if (m[val] >= N / 2 + 1 && m[val] >= nr_ap) {
nr_ap = m[val];
elm_maj = val;
}
}
if (nr_ap == -1) {
printf("-1");
} else {
printf("%d %d", elm_maj, nr_ap);
}
fclose(stdin);
fclose(stdout);
return 0;
}
