Cod sursa(job #2174315)

Utilizator MateiAruxandeiMateiStefan MateiAruxandei Data 16 martie 2018 11:34:18
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <fstream>

using namespace std;

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

int v[1000005];

int main()
{
    int n;
    fin >> n;

    int votat = -1, k = 0;
    for(int i = 1; i <= n; ++i){
        fin >> v[i];

        if(k == 0){
            votat = v[i];
            k = 1;
        }
        else if(v[i] == votat)
            ++k;
        else --k;
    }

    int nr = 0, val = 0;
    for(int i = 1; i <= n; ++i){
        if(v[i] == votat)
            val = v[i], ++nr;
    }

    if(nr >= n / 2 + 1)
        fout << val << ' ' << nr << '\n';
    else
        fout << -1 << '\n';
    return 0;
}