Cod sursa(job #3271844)

Utilizator pacelaaaCiurea Pavel pacelaaa Data 27 ianuarie 2025 15:40:56
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include <fstream>

using namespace std;

int v[1000000];

int main()
{
    int n, i, cnt, candidat;
    ifstream fin ( "elmaj.in" );
    ofstream fout ( "elmaj.out" );

    fin >> n;
    for ( i = 0; i < n; i ++ )
      fin >> v[i];

    cnt = 0;
    for ( i = 0; i < n; i ++ ) {
      if ( cnt == 0 ) {
        cnt = 1;
        candidat = v[i];
      } else if ( candidat == v[i] )
        cnt ++; else
        cnt --;
    }
    cnt = 0;
    for ( i = 0; i < n; i ++ )
      if (v[i] == candidat )
        cnt ++;

    if ( cnt > n / 2 )
      fout << candidat << " " << cnt << "\n";
    else
      fout << -1 << "\n";

    return 0;
}