Cod sursa(job #2301394)
Utilizator | Data | 12 decembrie 2018 21:46:08 | |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.39 kb |
#include <fstream>
std::ifstream cin("elmaj.in");
std::ofstream cout("elmaj.out");
#define maxn 1000001
int a[maxn],n;
int main()
{
int k=0,cand,nr=0;
cin>>n;
for(int i=1;i<=n;++i){
cin>>a[i];
if(k==0){
cand=a[i];
k=1;
}else
if(cand==a[i])
++k;
else
--k;
}
for(int i=1;i<=n;i++)
if(a[i]==cand)
++nr;
if(nr>n/2)
cout<<cand<<' '<<nr;
else
cout<<"-1";
}