Cod sursa(job #3205269)
Utilizator | Apostol Mihnea Petru PetruApostol | Data | 19 februarie 2024 09:58:21 |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.58 kb |
#include <fstream>
using namespace std;
ifstream cin("elmaj.in");
ofstream cout("elmaj.out");
int v[1000001];
int main()
{
int n,i,curent,k;
cin>>n;
for(i=0;i<n;i++){
cin>>v[i];
}
curent=-1;k=0;
for(i=0;i<n;i++){
if(k==0){
curent=v[i];
k=1;
}else if(v[i]==curent){
k++;
}else{
k--;
}
}
int cnt=0;
for(i=0;i<n;i++){
if(v[i]==curent) cnt++;
}
if(cnt>n/2) cout<<curent<<" "<<cnt;
else cout<<"-1\n";
return 0;
}