Cod sursa(job #3239511)

Utilizator marcandreicostinCostin marcandreicostin Data 6 august 2024 08:39:22
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
int n,i,v[1000005],nr,st;
int main()
{
    fin>>n>>v[1];
    st=v[1];
    nr=1;
    for(i=2; i<=n; i++)
    {
        fin>>v[i];
        if(v[i]==st)
            nr++;
        else
        {
            nr--;
            if(nr<0)
            {
                st=v[i];
                nr=1;
            }
        }

    }
    if(nr>0)
    {
        nr=0;
        for(i=1; i<=n; i++)
            if(v[i]==st)
                nr++;
    }
    else
    {
        fout<<-1;
        return 0;
    }
    if(nr>=n/2+1)
        fout<<st<<" "<<nr;
    else
        fout<<-1;
    return 0;
}