Cod sursa(job #3216249)
Utilizator | Data | 15 martie 2024 19:13:24 | |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.63 kb |
#include <fstream>
using namespace std;
ifstream cin("elmaj.in");
ofstream cout("elmaj.out");
int v[1000001];
int main() {
int n, fr = 0;
int elmaj = 0;
cin >> n;
++fr;
cin >> v[0];
for (int i = 1; i < n; ++i) {
cin >> v[i];
if (elmaj == v[i]) {
++fr;
}
else {
--fr;
if (fr == 0) {
elmaj = v[i];
fr++;
}
}
}
fr = 0;
for (int i = 0; i < n; ++i)
if (elmaj == v[i]) ++ fr;
if (fr >= ((n / 2) + 1))
cout << elmaj << ' ' << fr;
else cout << -1;
return 0;
}