Cod sursa(job #2371918)
| Utilizator | Data | 6 martie 2019 20:14:09 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.53 kb |
#include <bits/stdc++.h>
using namespace std;
int v[1000005];
int main(){
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;
}
