Cod sursa(job #2176350)

Utilizator SaphyrosMarcus Sergiu David Saphyros Data 16 martie 2018 23:13:00
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <fstream>

#define MAX_N 1000004

using namespace std;

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

int n, a[MAX_N];

int main()
{
    int inc=0, cur=0;
    fin >> n;
    for (int i = 0; i < n; i++)
    {
        fin >> a[i];
        if (!inc)
        {
            cur = a[i];
            inc = 1;
        }
        else
        {
            if (a[i] == cur)
                inc++;
            else
                inc--;
        }
    }

    inc = 0;
    for (int i = 0; i < n; i++)
    {
        if (a[i] == cur)
            inc++;
    }

    if (inc < n / 2 + 1)
        fout << -1;
    else
        fout << cur << " " << inc;

    return 0;
}