Cod sursa(job #1767147)
| Utilizator | Data | 28 septembrie 2016 19:13:33 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 90 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.5 kb |
#include <iostream>
#include <cstdio>
#include <fstream>
#include <map>
using namespace std;
map<int,int> m;
int n,x,ans,nr;
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);
m[x]++;
if (x==ans) nr++;
else
if (m[x]>n/2)
ans=x,nr=m[x];
}
if (ans)
cout<<ans<<' '<<nr;
else cout<<"-1";
return 0;
}
