Cod sursa(job #2371920)
| Utilizator | Data | 6 martie 2019 20:14:54 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.6 kb |
#include <bits/stdc++.h>
using namespace std;
int v[1000005];
int main(){
freopen("elmaj.in","r",stdin);
freopen("elmaj.out","w",stdout);
int n;
scanf("%d",&n);
int el_maj=-1,ap=0;
for(int i=1;i<=n;++i){
scanf("%d",&v[i]);
if(ap==0){
el_maj=v[i];
ap=1;
}
else if(v[i]==el_maj)
++ap;
else --ap;
}
int nr_ap=0;
for(int i=1;i<=n;++i)
if(v[i]==el_maj)
++nr_ap;
if(nr_ap>=n/2+1)
printf("%d %d\n",el_maj,nr_ap);
else printf("-1\n");
return 0;
}
