Pagini recente » Rating Sandor Serban Vlad (Serban_Vlad) | Cod sursa (job #1482505) | Cod sursa (job #255143) | Cod sursa (job #2723389) | Cod sursa (job #3266556)
#include <bits/stdc++.h>
using namespace std;
const int NMAX = 1e6+2;
int n,v[NMAX];
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
int main() {
fin >> n;
for(int i = 1; i <= n; i++){
fin >> v[i];
}
// heavy hitters
int cand = v[1], vf = 1;
for(int i = 2; i <= n; i++){
if(v[i] == cand){
vf++;
}else{
vf--;
if(vf == 0){
cand = v[i];
vf = 1;
}
}
}
// check
vf = 0;
for(int i = 1; i <= n; i++){
vf += (v[i] == cand);
}
if(vf >= n/2+1){
fout << cand << " " << vf;
}else{
fout << "-1";
}
return 0;
}