Cod sursa(job #2398281)

Utilizator AndreiIleanaAndrei Ileana AndreiIleana Data 5 aprilie 2019 11:40:41
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.55 kb
#include <fstream>

using namespace std;

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

int v[1000001],i,x,nr,n ;
int main()
{
    fin >> n ;
    for (i=1;i<=n;i++) fin >> v[i] ;
    x=v[1] ;
    nr=1 ;
    for (i=2;i<=n;i++)
    {
        if (nr==0)
        {
            x=v[i] ;
            nr=1 ;
        }
        else if (v[i]==x) nr++ ;
        else nr-- ;
    }
    nr=0 ;
    for (i=1;i<=n;i++)
        if (v[i]==x) nr ++ ;
    if (nr>=n/2+1) fout << x << ' ' << nr ;
    else fout << "-1" ;
    return 0;
}