Cod sursa(job #633969)
Utilizator | Dumitran Adrian Marius marius135 | Data | 15 noiembrie 2011 11:00:26 |
---|---|---|---|
Problema | Elementul majoritar | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.5 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];
}
return 0;
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;
}