Cod sursa(job #2367221)

Utilizator CodCatalinCodreanu Catalin CodCatalin Data 5 martie 2019 09:35:19
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.53 kb
#include <fstream>
using namespace std;

ifstream f("elmaj.in");
ofstream g("elmaj.out");

int n,ap,maj,nr,v[1000003];
int main()
{
    f>>n;
    for(int i=1;i<=n;++i)
    {
        f>>nr;v[i]=nr;
        if(nr==maj)ap++;
        else
        {
            if(ap)ap--;
            if(ap==0)
            {
                maj=nr;
                ap=1;
            }
        }
    }
    ap=0;
    for(int i=1;i<=n;++i)if(maj==v[i])ap++;
    if(ap>n/2)g<<maj<<" "<<ap<<'\n';
    else g<<-1<<'\n';
    return 0;
}