Cod sursa(job #2897993)

Utilizator SeracovanuEdwardSeracovanu Edward SeracovanuEdward Data 5 mai 2022 16:57:40
Problema Elementul majoritar Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <bits/stdc++.h>

using namespace std;

int n , cnt = 1,cand;
int A[1000005];

int main()
{
    freopen("elmaj.in" , "r" , stdin);
    freopen("elmaj.out" , "w" ,stdout);
    cin.tie(0)->sync_with_stdio(0);
    cin.exceptions(cin.failbit);
    cin >> n;
    cin >> A[1];
    cand = A[1];
    for(int i = 2;i <= n; ++i){
        cin >> A[i];
        if(A[i-1] != A[i])
            cnt--;
        else cnt++;
        if(cnt == 0)
            cand = A[i],cnt = 1;
    }
    cnt = 0;
    for(int i = 1;i <= n; ++i)cnt += (A[i] == cand);
    if(cnt >= n/2 + 1){
        cout << cand << " " << cnt;
        return 0;
    }
    cout << -1;
}