Cod sursa(job #1970629)

Utilizator netfreeAndrei Muntean netfree Data 19 aprilie 2017 14:54:54
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <bits/stdc++.h>

using namespace std;

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

int nr, n, el;
int a[1000000 + 5];

int main()
{
    fin >> n;
    fin >> el;
    a[1] = el;
    nr = 1;

    for(int i = 2; i<=n; ++i){
        int curent; fin >> curent; a[i]  = curent;
        if(nr == 0){
            el = curent;
            ++ nr;
        }
        else if (el == curent)
            nr++;
        else nr --;
    }

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

    if(nr >= n/2+1)
        fout << el <<" " << nr;
    else fout << -1;


    return 0;
}