Cod sursa(job #2839502)
Utilizator | Balasa Radu BalasaRadu | Data | 26 ianuarie 2022 00:18:14 |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.68 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("elmaj.in");
ofstream fout("elmaj.out");
const int dim=1000009;
int n,v[dim];
signed main(){
fin>>n;
for(int i=1;i<=n;i++){
fin>>v[i];
}
int candidat=0,cnt=0;
for(int i=1;i<=n;i++){
if(v[i]==candidat){
cnt++;
}
else{
cnt--;
}
if(cnt<=0){
cnt=1;
candidat=v[i];
}
}
int nr=0;
for(int i=1;i<=n;i++){
if(v[i]==candidat){
nr++;
}
}
if(nr>n/2){
fout<<candidat<<' '<<nr;
}
else{
fout<<-1;
}
}