Pagini recente » Cod sursa (job #1627255) | Cod sursa (job #1309487) | Cod sursa (job #1240078) | Cod sursa (job #388038) | Cod sursa (job #2468967)
#include <bits/stdc++.h>
#define NMAX (int)(1e6 + 5)
using namespace std;
int n, vec[NMAX];
void mooreMajority(int n, int* a) {
int cand = -1, k = 0;
for (int i = 1; i <= n; i++) {
if (k == 0) cand = a[i], k = 1;
else if (a[i] == cand) k++;
else k--;
}
//verificare
int nr = 0;
for (int i = 1; i <= n; ++i)
if (a[i] == cand)
++nr;
if (nr > n / 2) printf("%d %d\n", cand, nr);
else printf("%d\n", -1);
}
int main()
{
freopen("elmaj.in", "r", stdin);
freopen("elmaj.out", "w", stdout);
scanf("%d", &n);
for (int i = 1; i <= n; ++i)
scanf("%d", &vec[i]);
mooreMajority(n, vec);
return 0;
}