Cod sursa(job #2312539)
Utilizator | Data | 4 ianuarie 2019 23:32:02 | |
---|---|---|---|
Problema | Elementul majoritar | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.59 kb |
#include <bits/stdc++.h>
#define N 100010
using namespace std;
int a[N],n;
int main()
{
int i,cand,vot;
cin>>n;
for(i=1; i<=n; ++i) cin>>a[i];
/// etapa 1 valoarea care are sanse sa fie element majoritar
cand=a[1]; vot=1;
for(i=2; i<=n; ++i)
if(a[i]==cand) vot++;
else if(vot!=0) vot--;
else { cand=a[i]; vot=1; }
///etapa 2 verficam daca chiar este element majoritar
vot=0;
for(i=1; i<=n; ++i)
if(a[i]==cand) vot++;
if(vot>n/2) cout<<cand<<" "<<vot<<"\n";
else cout<<-1<<"\n";
return 0;
}