Cod sursa(job #1820286)

Utilizator BlackLordFMI Alex Oprea BlackLord Data 1 decembrie 2016 15:27:45
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include <fstream>

using namespace std;

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

const int N = 1000010;

int n, a, b, v[N], i;

int main() {
    fin >> n;
    for (i = 1; i <= n; ++i) {
        fin >> v[i];
    }
    a = v[1];
    b = 1;
    for (i = 2; i <= n; ++i) {
        if (b == 0) {
            a = v[i];
            b = 1;
        } else {
            if (v[i] == a){
                b++;
            } else {
                b--;
            }
        }
    }
    b = 0;
    for (i = 1; i <= n; ++i) {
        if (v[i] == a) {
            b++;
        }
    }
    if (b > n / 2) {
        fout << a << ' ' << b << "\n";
    } else {
        fout << "-1\n";
    }
    return 0;
}