Cod sursa(job #1997214)

Utilizator savigunFeleaga Dragos-George savigun Data 3 iulie 2017 17:31:43
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb

#include <fstream>
using namespace std;

ifstream cin("elmaj.in");
ofstream cout("elmaj.out");

int v[1000005], n;


int main()
{
    cin >> n;
    int maj = 0, ap = 1;

    for (int i = 1; i <= n; ++i) {
        cin >> v[i];
        if (v[i] == maj) ap++; else {
            ap--;
            if (ap == 0) {
                maj = v[i];
                ap++;
            }
        }
    }

    ap = 0;

    for (int i = 1; i <= n; ++i) {
        if (v[i] == maj) ap++;
    }

    if (ap > n / 2) {
        cout << maj << " " << ap;
    } else {
        cout << -1;
    }

    return 0;
}