Cod sursa(job #3325475)

Utilizator Seba1030Banescu Stefan Sebastian Seba1030 Data 25 noiembrie 2025 15:35:02
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include <bits/stdc++.h>

const int MAXN = 1000000;

using namespace std;

int v[MAXN + 5];

int main() {
    ifstream cin( "elmaj.in" );
    ofstream cout( "elmaj.out" );
    int n;
    cin >> n;
    for ( int i = 1; i <= n; i++ ) {
        cin >> v[i];
    }
    int maj = v[1];
    int cnt = 0;
    for ( int i = 1; i <= n; i++ ) {
        if ( v[i] == maj ) {
            cnt++;
        }
        else {
            cnt--;
        }
        if ( cnt == -1 ) {
            maj = v[i];
            cnt = 1;
        }
    }
    int verif = 0;
    for ( int i = 1; i <= n; i++ ) {
        if ( v[i] == maj ) {
            verif++;
        }
    }
    if ( verif < n / 2 + 1 ) {
        cout << "-1";
    }
    else {
        cout << maj << ' ' << verif;
    }

    return 0;
}