Pagini recente » Cod sursa (job #3256262) | Cod sursa (job #3123170) | Cod sursa (job #537034) | Cod sursa (job #3269484) | Cod sursa (job #1947786)
#include <iostream>
#include <fstream>
using namespace std;
const int MAXN = 1000001;
int n, v[MAXN];
void mooreMajority() {
int cand = -1, k = 0;
for (int i = 0; i < n; i++) {
if (k == 0) {
cand = v[i];
k++;
} else if (v[i] == cand) {
k++;
} else {
k--;
}
}
if (cand < 0) {
cout << -1;
return;
}
int count = 0;
for (int i = 0; i < n; i++) {
if (v[i] == cand) {
count++;
}
}
if (count > n / 2) {
cout << cand << ' ' << count;
} else {
cout << -1;
}
}
int main(int argc, const char * argv[]) {
ifstream cin("elmaj.in");
ofstream cout("elmaj.out");
cin >> n;
for (int i = 0; i < n; ++i) {
cin >> v[i];
}
mooreMajority();
return 0;
}