Cod sursa(job #1746379)
| Utilizator | Data | 23 august 2016 09:54:04 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.49 kb |
#include <fstream>
using namespace std;
unsigned long long v[100000001];
ifstream in("elmaj.in");
ofstream out("elmaj.out");
int el,n;
int maj,majf;
int main()
{
in >> n;
in >> maj;
v[maj]++;
majf=1;
for(int i=1;i<n;i++){
in>> el;
v[el]++;
if(el==maj) majf++;
else{
if(majf>1) majf--;
else maj=el;
}
}
if(v[maj] >= n/2+1) out << maj <<' ' << v[maj];
else out<<-1;
return 0;
}
