Cod sursa(job #2659546)
Utilizator | Data | 16 octombrie 2020 23:48:08 | |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.56 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream in ("elmaj.in");
ofstream out ("elmaj.out");
int v[3000001];
int main() {
int n, i, c = -1, k = 0, nr = 0;
in >> n;
for(i = 0; i < n; i++) {
in >> v[i];
if (k == 0) {
c = v[i];
k = 1;
} else if (v[i] == c) {
k++;
} else
k--;
}
for (i = 0; i < n; i++) {
if (v[i] == c)
nr++;
}
if (nr > n / 2)
out << c << " " << nr;
else
out << -1;
return 0;
}