Cod sursa(job #1458107)
Utilizator | Simion Florentin flore77 | Data | 6 iulie 2015 21:02:37 |
---|---|---|---|
Problema | Elementul majoritar | Scor | 70 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.62 kb |
#include <iostream>
#include <fstream>
using namespace std;
#define NMAX 1000100
ifstream in("elmaj.in");
ofstream out("elmaj.out");
int frequency[NMAX];
int n;
int main() {
int x, maj, majfreq;
maj = -1;
in >> n;
for (int i = 0; i < n; i++) {
in >> x;
frequency[x]++;
}
in.close();
for (int i = 0; i < n; i++) {
if (frequency[i] > n / 2 && frequency[i] > maj) {
maj = i;
majfreq = frequency[i];
}
}
if (maj != -1) {
out << maj << " " << majfreq;
}
else {
out << "-1";
}
out.close();
return 0;
}