Cod sursa(job #633711)
Utilizator | Ion Vlad-Doru vlad.doru | Data | 14 noiembrie 2011 16:44:51 |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.53 kb |
#include <fstream>
using namespace std;
ifstream in("elmaj.in");
ofstream out("elmaj.out");
const int N=1000001;
int v[N],n,win,contor;
int main(){
int i;
in>>n;
for(i=1;i<=n;++i){
in>>v[i];
}
win=v[1];
contor=1;
for(i=2;i<=n;++i){
if(contor==0){
win=v[i];
contor=1;
continue;
}
if(v[i]==win)
contor++;
else
contor--;
}
contor=0;
for(i=1;i<=n;++i){
if(v[i]==win)
contor++;
}
if(contor>=(n/2)){
out<<win<<" "<<contor;
}
else
out<<"-1";
return 0;
}