Cod sursa(job #2861502)

Utilizator MegaCoderMinoiu Teodor Mihai MegaCoder Data 4 martie 2022 08:44:28
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.79 kb
#include<fstream>
std::ifstream fin("elmaj.in");
std::ofstream fout("elmaj.out");
int main()
{
    int32_t n, k, a[1000001], nr=0, cand=-1;
    fin>>n;
    for(int32_t index=0; index<n; ++index)
    {
        fin>>a[index];
    }
    k=0;
    for(int32_t index=0; index<n; ++index)
    {
        if(k==0)
        {
            cand=a[index];
            ++k;
        }
        else if(cand==a[index])
        {
            ++k;
        }
        else{
            --k;
        }
    }
    if(cand<0)
    {
        fout<<"-1";
        return 0;
    }
    for(int32_t index=0; index<n; ++index)
    {
        if(a[index]==cand)
        {
            ++nr;
        }
    }
    if(nr>n/2)
    {
        fout<<cand<<" "<<nr;
    }
    else{
        fout<<"-1";
    }
    fin.close();
    fout.close();
    return 0;
}