Cod sursa(job #2151562)

Utilizator zanugMatyas Gergely zanug Data 4 martie 2018 17:04:09
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.9 kb
#include <iostream>
#include <fstream>

using namespace std;

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

const int NLIM = 1e6+10;

int n;
int x[NLIM];
int nr = -1;
int db = 0;

int main()
{
    fin >> n;
    for(int i = 0; i < n; ++i)
    {
        fin >> x[i];
    }

    for(int i = 0; i < n; ++i)
    {
        if(!db)
        {
            nr = x[i];
            ++db;
        }
        else if(nr == x[i])
        {
            ++db;
        }
        else
        {
            --db;
        }
    }

    if(!db)
    {
        fout << -1 << "\n";
    }
    else
    {
        int ossz = 0;

        for(int i = 0; i < n; ++i)
        {
            if(x[i] == nr)
                ++ossz;
        }
        if(ossz > n/2)
        {
            fout << nr << " " << ossz << "\n";
        }
        else fout << -1 << "\n";
    }

    return 0;
}