Cod sursa(job #2316422)

Utilizator SergiuS3003Sergiu Stancu Nicolae SergiuS3003 Data 11 ianuarie 2019 18:07:01
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f ( "elmaj.in" );
ofstream g ( "elmaj.out" );
int v[1000001];
int main()
{
    int n, cand = -1, nr = 0;
    f >> n;

    for ( int i = 1; i <= n; i++ )
    {
        f >> v[i];

        if ( nr == 0 )
        {
            cand = v[i];
            nr = 1;
        }
        else
            if ( v[i] == cand )
                nr++;
            else nr--;
    }

    if ( nr > 0 )
    {
        nr = 0;
        {
            for ( int i = 1; i <= n; i++ )
                if ( v[i] == cand ) nr++;
        }

        if ( nr > n / 2 ) g << cand << " " << nr;
        else g << -1;
    }
    else g << -1;

    return 0;
}