Cod sursa(job #820060)
Utilizator | Ion Vlad-Doru vlad.doru | Data | 19 noiembrie 2012 23:26:39 |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.44 kb |
#include <fstream>
using namespace std;
ifstream in("elmaj.in");
ofstream out("elmaj.out");
const int MAX=20000000;
int ap[MAX],n;
int main(){
in>>n;
int i,x;
int maj=0,res=0;
for(i=1;i<=n;++i){
in>>x;
ap[x]++;
if(2*ap[x]>=n){
maj=x;
res=ap[x];
break;
}
}
for(++i;i<=n;++i){
in>>x;
if(x==maj){
res++;
}
}
if(maj){
out<<maj<<" "<<res;
return 0;
}
out<<"-1";
return 0;
}