Cod sursa(job #1608349)
| Utilizator | Data | 22 februarie 2016 00:01:53 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.66 kb |
#include <fstream>
#include <map>
#define NMAX 1000000
using namespace std;
ifstream cin("elmaj.in");
ofstream cout("elmaj.out");
long long n,aux,i,k,temp,a[NMAX];
int main()
{
cin>>n;
k=0,aux=-1;
for(i=1;i<=n;i++){
cin>>a[i];
if(k==0){
k=1;
aux=a[i];
}
else if(a[i]==aux){
k++;
}
else
k--;
}
if(aux<0){
cout<<-1;
return 0;
}
long long nr=0;
for(i=1;i<=n;i++){
if(a[i]==aux)
++nr;
}
if(nr>n/2)
cout<<aux<<' '<<nr;
else
cout<<-1;
return 0;
}
