Cod sursa(job #1806280)

Utilizator leraValeria lera Data 15 noiembrie 2016 00:13:28
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
long long a[1000001];
int main()
{
    long long n,i,ind,nr_voturi;
    fin>>n;
    for(i=1;i<=n;i++)
        fin>>a[i];
    ind=a[1];
    nr_voturi=0;
    for(i=1;i<=n;i++)
        {
            if(a[i]==ind)nr_voturi++;
            else
            if(nr_voturi==0)
            {
                ind=a[i];
                nr_voturi=1;
            }
            else
            nr_voturi--;
        }
    if(nr_voturi>0)
    {
        nr_voturi=0;
        for(i=1;i<=n;i++)if(a[i]==ind)nr_voturi++;
        if(nr_voturi>n/2) fout<<ind<<" "<<nr_voturi;
        else fout<<-1;
    }
    else fout<<-1;
    return 0;
}