Cod sursa(job #2171956)

Utilizator LeVladzCiuperceanu Vlad LeVladz Data 15 martie 2018 14:20:21
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <fstream>

using namespace std;

ifstream fin("elmaj.in");
ofstream fout("elmaj.out");

int n,i,v[1000005],x,nr,nraparitii;

int main()
{
    fin >> n;
    for (i=1; i<=n; i++)
        fin >> v[i];
    x = v[1];
    nr = 1;
    for (i=2; i<=n; i++)
        if (v[i] == x)
            nr++;
        else
        {
            if (nr > 0)
                nr--;
            else
                x = v[i], nr = 1;
        }
    for (i=1; i<=n; i++)
        if (v[i] == x)
            nraparitii++;
    if (nraparitii >= n/2)
        fout << x << " " << nraparitii;
    else
        fout << -1;
    return 0;
}