Cod sursa(job #2336063)

Utilizator MateiAruxandeiMateiStefan MateiAruxandei Data 4 februarie 2019 19:18:54
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.6 kb
#include <fstream>

using namespace std;

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

int v[1000005];

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

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

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

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

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