Cod sursa(job #1180435)
| Utilizator | Data | 30 aprilie 2014 17:31:25 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.7 kb |
#include<fstream>
using namespace std;
ifstream in("elmaj.in");
ofstream out("elmaj.out");
int N,v[1000010];
int main() {
int i,cand,contor;
in>>N;
in>>v[1];
cand=v[1];
contor=1;
for(i=2;i<=N;i++){
in>>v[i];
if(v[i]==cand)
contor++;
else
if(contor==0){
cand=v[i];
contor=1;
}
else
contor--;
}
contor=0;
for(i=1;i<=N;i++)
if(v[i]==cand)
contor++;
if(contor>=N/2+1)
out<<cand<<' '<<contor<<'\n';
else
out<<"-1"<<'\n';
in.close();
out.close();
return 0;
}
