Cod sursa(job #1755128)
| Utilizator | Data | 9 septembrie 2016 14:45:46 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.57 kb |
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
vector<int> a;
int b[1000002],n,maxv,maxc=-1;
int main(){
freopen("elmaj.in", "r", stdin);
freopen("elmaj.out", "w", stdout);
int e,x;
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%d",&x);
e=find(a.begin(),a.end(),x) - a.begin();
if(e==i-1){
a.push_back(x);
if(maxc<0){maxc=1,maxv=x;}
}else{
b[e]++;
if(b[e]>maxc){
maxc=b[e];
maxv=x;
}
}
}
if(maxc>n/2)
printf("%d %d",maxv,maxc);
else printf("-1");
}
