Cod sursa(job #2570604)

Utilizator BAlexandruBorgovan Alexandru BAlexandru Data 4 martie 2020 17:58:15
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include <fstream>

using namespace std;

ifstream f("elmaj.in");
ofstream g("elmaj.out");

int n, i, maj, nr;
int v[1000001];

int main()
{
    f >> n;
    for (i=1; i<=n; i++)
        f >> v[i];

    maj = v[1], nr = 1;
    for (i=2; i<=n; i++)
    {
        if (!nr)
            maj = v[i];
        if (v[i] == maj)
            nr++;
        else
            nr--;
    }

    nr = 0;
    for (i=1; i<=n; i++)
        if (v[i] == maj)
            nr++;

    if (nr >= n/2+1)
        g << maj << " " << nr;
    else
        g << -1;

    return 0;
}