Cod sursa(job #1443314)

Utilizator FlorinHajaFlorin Gabriel Haja FlorinHaja Data 27 mai 2015 16:51:12
Problema Elementul majoritar Scor 100
Compilator cpp 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, fact, k, nr;
int a[1000001];

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

    fact = -1;
    for (i = 1; i <= n; i++)
    {
        if (!k)
            fact = a[i], k = 1;
        else if (a[i] == fact)
            k++;
        else
            k--;
    }

    for (i = 1; i <= n; i++)
        if (a[i] == fact)
            nr++;

    if (nr > n/2)
        g << fact << " " << nr;
    else
        g << -1;
    return 0;
}