Cod sursa(job #2439623)

Utilizator alexandrapricopAlexandra Pricop alexandrapricop Data 16 iulie 2019 15:48:46
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.6 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
unsigned long n,sanse=1,maj,nr=0,v[1000001];
int main()
{
    fin>>n>>v[1]; maj=v[1];
    for(int i=2; i<=n; i++){
        fin>>v[i];
        if(v[i]==maj)
            sanse++;
        else{
            sanse--;
            if(sanse<=0)
            {
                maj=v[i];
                sanse=1;
            }
        }
    }

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