Cod sursa(job #2340260)

Utilizator MateiAruxandeiMateiStefan MateiAruxandei Data 10 februarie 2019 10:11:41
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 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)
        fout << cand << ' ' << nr << '\n';
    else fout << -1 << '\n';
    return 0;
}