Cod sursa(job #2187866)
| Utilizator | Data | 26 martie 2018 19:42:20 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 70 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.6 kb |
#include <iostream>
#include <cstdio>
#include <unordered_map>
#include <unordered_set>
using namespace std;
unordered_map <long long, int> ap;
unordered_set <long long> el;
int n;
long long x;
int main()
{
freopen("elmaj.in","r",stdin);
freopen("elmaj.out","w",stdout);
scanf("%d\n", &n);
for(int i=0;i<n;++i)
{
cin>>x;
++ap[x];
el.insert(x);
}
long long sol;
int lm=-10;
n=n/2+1;
for(auto i: el)
if(ap[i]>=n && ap[i]>lm)
sol=i, lm=ap[i];
if(lm==-10)
cout<<-1;
else
cout<<sol<<" "<<lm;
return 0;
}
