Cod sursa(job #1669040)

Utilizator APatarlageanuAndreea Patarlageanu APatarlageanu Data 30 martie 2016 12:06:05
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <fstream>
#include <iostream>

int v[1000000];

using namespace std;
ifstream in ( "elmaj.in" );
ofstream out ( "elmaj.out" );

int main()
{
    int n, c, nr, i, k;

    in>>n>>v[1];
    c = v[1];
    nr = 1;
    for ( i = 2; i <= n; i++ ) {
        in>>v[i];
        if ( v[i] == c )
            nr++;
        else
            nr--;
        if ( nr == 0 )
        {
            c = v[i];
            nr = 1;
        }
    }
    k = 0;
    for ( i = 1; i <= n; i++ ) {
        if ( v[i] == c )
            k++;
    }
    if ( k >= n / 2 + 1 )
        out<<c<<" "<<k;
    else
        out<<-1;



    return 0;
}