Cod sursa(job #1746378)

Utilizator AndreiCroitoruAndrei Croitoru AndreiCroitoru Data 23 august 2016 09:53:09
Problema Elementul majoritar Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include <fstream>
using namespace std;
unsigned long long v[100000001];
ifstream in("majoritar.in");
ofstream out("majoritar.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;
}