Cod sursa(job #2870836)

Utilizator Fantastic_Mantudor voicu Fantastic_Man Data 12 martie 2022 16:45:19
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <fstream>

using namespace std;
const int nmax = 1e6;

int v[nmax + 1];

ifstream fin ( "elmaj.in" );
ofstream fout ( "elmaj.out" );

int main() {
    int n, x, elem = -1, ap = 0;
    fin >> n;
    for ( int i = 1; i <= n; i++ ) {
        fin >> v[i];
        if ( v[i] != elem ) {
            ap--;
            if ( ap < 0 )
                elem = v[i], ap = 1;
        } else
            ap++;
    }
    ap = 0;
    for ( int i = 1; i <= n; i++ )
        ap += ( v[i] == elem );
    if ( ap > n / 2 )
        fout << elem << ' ' << ap << '\n';
    else
        fout << -1 << '\n';



    return 0;
}