Cod sursa(job #3297586)

Utilizator Arhiva_EducationalaArhiva Educationala Arhiva_Educationala Data 22 mai 2025 22:46:53
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include <bits/stdc++.h>

using namespace std;

const int NMAX = 1e6;

int v[NMAX];

int main() {
    ifstream fin( "elmaj.in" );
    ofstream fout( "elmaj.out" );
    int n, a = -1, cnt = 0;
    fin >> n;
    for ( int i = 0; i < n; i ++ ) {
        fin >> v[i];
        if ( v[i] == a ) {
            cnt ++;
        } else if ( cnt == 0 ) {
            a = v[i];
            cnt = 1;
        } else {
            cnt --;
        }
    }

    cnt = 0;
    for ( int i = 0; i < n; i ++ ) {
        if ( v[i] == a ) cnt ++;
    }
    if ( cnt >= n / 2 + 1 ) {
        fout << a << ' ' << cnt << '\n';
    } else {
        fout << "-1\n";
    }
    return 0;
}