Cod sursa(job #3326642)

Utilizator Stoica_Matei0923Stoica Matei Cristian Mihail Stoica_Matei0923 Data 29 noiembrie 2025 18:21:33
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Teme Pregatire ACM Unibuc 2013 Marime 0.89 kb
#include <fstream>
#include <vector>

using namespace std;

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

    int n;
    fin >> n;

    vector<int> v(n);

    int candidate = -1;
    int count = 0;

    for (int i = 0; i < n; ++i) {
        fin >> v[i];

        if (count == 0) {
            candidate = v[i];
            count = 1;
        } else {
            if (v[i] == candidate) {
                count++;
            } else {
                count--;
            }
        }
    }

    int total_appearances = 0;
    for (int i = 0; i < n; ++i) {
        if (v[i] == candidate) {
            total_appearances++;
        }
    }

    if (total_appearances >= n / 2 + 1) {
        fout << candidate << " " << total_appearances;
    } else {
        fout << -1;
    }

    fin.close();
    fout.close();

    return 0;
}