Cod sursa(job #3349821)

Utilizator RazvanGabreanuGabreanu Razvan-George RazvanGabreanu Data 2 aprilie 2026 17:10:25
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.8 kb
#include <fstream>
#include <vector>

using namespace std;

int main() {
    ios_base::sync_with_stdio(false);

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

    int n;
    if (!(fin >> n)) return 0;

    vector<int> v(n);
    int candidat = -1;
    int contor = 0;

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

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

    int frecventa = 0;
    for (int i = 0; i < n; ++i) {
        if (v[i] == candidat) {
            frecventa++;
        }
    }
    
    if (frecventa >= n / 2 + 1) {
        fout << candidat << " " << frecventa << "\n";
    } else {
        fout << "-1\n";
    }

    return 0;
}