Cod sursa(job #2289552)
| Utilizator | Data | 24 noiembrie 2018 19:53:04 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.54 kb |
#include <fstream>
#include <unordered_map>
using namespace std;
unordered_map<int, int> m;
int N;
int main() {
ifstream iff("elmaj.in");
ofstream off("elmaj.out");
iff >> N;
int nr_ap = -1;
int elm_maj = -1;
for (int i = 0; i < N; ++i) {
int val;
iff >> val;
m[val]++;
if (m[val] >= N / 2 + 1 && m[val] >= nr_ap) {
nr_ap = m[val];
elm_maj = val;
}
}
if (nr_ap == -1) {
off << -1;
printf("-1");
} else {
off << elm_maj << " " << nr_ap;
}
return 0;
}
