Cod sursa(job #2616478)

Utilizator AndreiCroitoruAndrei Croitoru AndreiCroitoru Data 18 mai 2020 18:13:43
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.55 kb
#include <fstream>
using namespace std;
unsigned long long v[100000001];
ifstream in("elmaj.in");
ofstream out("elmaj.out");
int el,n;
int maj,majf;
int main()
{
    in >> n;
    in >> maj;
    v[maj]++;
    majf=1;
    for(int i=1; i<n; i++)
    {
        in>> el;
        v[el]++;
        if(el==maj)
            majf++;
        else
        {
            if(majf>1)
                majf--;
            else maj=el;
        }
    }
    if(v[maj] >= n/2+1)
        out << maj <<' ' << v[maj];
    else
        out<<-1;
    return 0;
}