Cod sursa(job #1076337)
| Utilizator | Data | 10 ianuarie 2014 01:37:47 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 80 |
| Compilator | cpp | Status | done |
| Runda | Teme Pregatire ACM Unibuc 2013 | Marime | 0.52 kb |
#include <fstream>
#include <unordered_map>
using namespace std;
ifstream f("elmaj.in");
ofstream g("elmaj.out");
int n, maxim, ans;
unordered_map <int, int> Hash;
int main() {
f >> n;
for (int i = 1; i <= n; i++) {
int a;
f >> a;
if (Hash.find (a) == Hash.end())
Hash.insert (make_pair (a, 1));
else
Hash[a]++;
if (Hash[a] > maxim) {
maxim = Hash[a];
ans = a;
}
}
if (maxim > n / 2)
g << ans << " " << Hash[ans] << '\n';
else
g << -1 << '\n';
return 0;
}
