Cod sursa(job #2161925)

Utilizator AndreiBadescuBadescu Andrei-Octavian AndreiBadescu Data 11 martie 2018 22:03:24
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <fstream>

#define N 1000000

using namespace std;

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

int n, i, t, k, v[N];

int main()
{
    ios::sync_with_stdio(false);

    fin >> n;

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

        if ( v[i] == t )
            ++k;
        else if ( k > 0 )
            --k;
        else
            t = v[i], k = 1;
    }

    for ( i = k = 0; i < n; ++i )
        if ( v[i] == t )
            ++k;

    if ( k > n / 2 )
        fout << t << " " << k;
    else
        fout << -1;
}