Cod sursa(job #2659546)

Utilizator 2016Teo@Balan 2016 Data 16 octombrie 2020 23:48:08
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <bits/stdc++.h>
using namespace std;
ifstream in ("elmaj.in");
ofstream out ("elmaj.out");
int v[3000001];
int main() {
    int n, i, c = -1, k = 0, nr = 0;
    in >> n;
    for(i = 0; i < n; i++) {
        in >> v[i];
        if (k == 0) {
            c = v[i];
            k = 1;
        } else if (v[i] == c) {
            k++;
        } else
            k--;
    }
    for (i = 0; i < n; i++) {
        if (v[i] == c)
            nr++;
    }
    if (nr > n / 2)
        out << c << " " << nr;
    else
        out << -1;
    return 0;
}