Cod sursa(job #2530527)
Utilizator | Visanu Cristian flibia | Data | 24 ianuarie 2020 21:41:08 |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.59 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream in("elmaj.in");
ofstream out("elmaj.out");
int n, a[1000100], k, c;
int main() {
in >> n;
for (int i = 1; i <= n; i++)
in >> a[i];
c = -1;
for (int i = 1; i <= n; i++) {
if (k == 0) {
c = a[i];
k++;
} else if (c == a[i])
k++;
else k--;
}
int cnt = 0;
for (int i = 1; i <= n; i++)
if (c == a[i])
cnt++;
if (cnt <= n / 2)
out << -1;
else out << c << ' ' << cnt;
return 0;
}