Cod sursa(job #948411)

Utilizator matei_cChristescu Matei matei_c Data 10 mai 2013 11:26:54
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include<fstream>
using namespace std ;

#define maxn 1000001

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

int n ;

int v[maxn] ;

int fav, act ;

int main()
{
    fin >> n ;

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

        if( v[i] == fav && fav )
            ++act ;
        else
            --act ;

        if( act == 0 || fav == 0 )
        {
            fav = v[i] ;
            act = 1 ;
        }
    }

    int nrap = 0 ;

    for(int i = 1; i <= n; ++i )
        if( v[i] == fav )
            ++nrap ;

    if( nrap >= n / 2 + 1 )
        fout << fav << " " << nrap ;
    else
        fout << "-1" ;

    return 0 ;
}