Cod sursa(job #1007129)
Utilizator | Darky Angel DarkyAngel | Data | 8 octombrie 2013 12:41:59 |
---|---|---|---|
Problema | Elementul majoritar | Scor | 90 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.6 kb |
#include <fstream>
#include <map>
using namespace std;
ifstream f("elmaj.in");
ofstream g("elmaj.out");
map<int, int> test;
long i, n, v[1000010];
int main () {
f >> n;
for(i = 0; i < n; i++) {
f >> v[i];
if(test[v[i]] == false)
test[v[i]] = 1;
else {
test[v[i]] = test[v[i]] + 1;
}
}
bool aux = false;
for(i = n/2; i >= 0; i--) {
if(test[v[i]] > n/2) {
g << v[i] << " " << test[v[i]];
aux = true;
break;
}
}
if(!aux)
g << -1;
}