Cod sursa(job #2262778)
Utilizator | Andrei Feodorov Nashik | Data | 17 octombrie 2018 20:05:29 |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Teme Pregatire ACM Unibuc 2013 | Marime | 0.82 kb |
//#include <iostream>
#include <fstream>
using namespace std;
int v[1000005];
int main()
{
ifstream cin("elmaj.in");
ofstream cout("elmaj.out");
int ok=0;
///ok=1---> 1 nr
///ok=0---> 0 nr
int n,a,cnt1=0,k1;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a;
v[i]=a;
if(ok==0){
cnt1=1;
k1=a;
ok=1;
}
else{
if(k1==a){
cnt1++;
}
else
cnt1--;
if(cnt1==0)
ok=0;
}
}
if(ok==0){
cout<<-1;
return 0;
}
cnt1=0;
for(int i=1;i<=n;i++)
if(v[i]==k1)
cnt1++;
if(cnt1>=n/2+1)
cout<<k1<<" "<<cnt1;
else
cout<<-1;
return 0;
}