Cod sursa(job #1293901)

Utilizator CiurezAndreiCiurez Marius-Andrei CiurezAndrei Data 16 decembrie 2014 18:48:01
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
int n,i,vmax,imax,a[1001000],nr,stiva_v,stiva_nr;
int main()
{
    fin >> n;
    fin >> a[1];
    stiva_v = a[1];
    stiva_nr = 1;
    for(i = 2; i <= n; i ++)
        {
        fin >> a[i];
        if(a[i] == stiva_v)
            stiva_nr ++;
        else
            {
            stiva_nr --;
            if(stiva_nr == 0)
                {
                    stiva_nr = 1;
                    stiva_v = a[i];
                }
            }
        }

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