Cod sursa(job #1971739)
| Utilizator | Data | 20 aprilie 2017 21:49:10 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 90 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.57 kb |
#include <iostream>
#include <unordered_map>
#include <fstream>
using namespace std;
#define long long long
int main()
{
ifstream in("elmaj.in");
ofstream out("elmaj.out");
long n;
in >> n;
long maj = n / 2 + 1;
long sol = -1;
unordered_map<long, long> ocurrences;
for (long i = 0, tmp; i < n; i++) {
in >> tmp;
if (++ocurrences[tmp] == maj) sol = tmp;
}
if (sol == -1) {
out << -1 << "\n";
return 0;
}
out << sol << " " << ocurrences[sol] << "\n";
return 0;
}
