Pagini recente » Cod sursa (job #718288) | Cod sursa (job #1499639) | Cod sursa (job #1267538) | Cod sursa (job #923035) | Cod sursa (job #1077002)
#include <fstream>
#include <unordered_map>
#define MAXN 1000000
using namespace std;
int main() {
int N, *v;
ifstream in("elmaj.in");
in >> N;
v = new int[N];
unordered_map<unsigned, unsigned> hashmap;
for (int i = 0; i < N; ++i) {
in >> v[i];
unordered_map<unsigned, unsigned>::iterator found = hashmap.find(v[i]);
if (found == hashmap.end()) {
hashmap.insert(make_pair(v[i], 1));
} else {
int count = found->second;
hashmap.erase(found);
hashmap.insert(make_pair(v[i], count + 1));
}
}
delete[] v;
in.close();
int best = -1, count = 0;
unordered_map<unsigned, unsigned>::iterator i = hashmap.begin(), stop = hashmap.end();
while (i != stop) {
if (i->second >= N / 2 + 1) {
best = i->first;
count = i->second;
}
++i;
}
ofstream out("elmaj.out");
out << best << " ";
if (best != -1) {
out << count;
}
out.close();
return 0;
}