Cod sursa(job #1755170)
| Utilizator | Data | 9 septembrie 2016 15:22:58 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 80 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.42 kb |
#include<iostream>
#include<map>
using namespace std;
map<int,int> a;
int n,maxv,x;
int main(){
freopen("elmaj.in", "r", stdin);
freopen("elmaj.out", "w", stdout);
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%d",&x);
if(a[maxv]>=n/2&&x==maxv){
a[maxv]++;
}else{
a[x]++;
if(a[x]>a[maxv]){maxv=x;}
}
}
if(a[maxv]>n/2)
printf("%d %d",maxv,a[maxv]);
else printf("-1");
}
