Cod sursa(job #2847080)

Utilizator Schweppesnick gurr Schweppes Data 10 februarie 2022 10:30:25
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.47 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
int n,a[1000005],ans,k,nr;
int main(){
    fin>>n;
    for(int i=1;i<=n;i++)fin>>a[i];
    for(int i=1;i<=n;i++){
        if(k==0)nr=a[i],k=1;
        else if(a[i]==nr)k++;
        else k--;
    }
    int b=0;
    for(int i=1;i<=n;i++){
        if(a[i]==nr)b++;
    }
    if(b>=n/2+1)fout<<nr << ' ' <<b;
    else fout << -1;
return 0;
}
// 3 4 4 3 3 2 3