Cod sursa(job #3349730)

Utilizator tudo04Tudorache Andrei-Silviu tudo04 Data 2 aprilie 2026 12:17:16
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.82 kb
#include <bits/stdc++.h>
using namespace std;

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);

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

    int n;
    fin >> n;

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

    mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());

    int majoritar = -1;
    for (int iter = 0; iter < 20; iter++) {
        int idx = rng() % n;
        int candidat = v[idx];

        int cnt = 0;
        for (int i = 0; i < n; i++)
            if (v[i] == candidat)
                cnt++;

        if (cnt > n / 2) {
            majoritar = candidat;
            fout << candidat << " " << cnt << "\n";
            return 0;
        }
    }

    fout << -1 << "\n";
    return 0;
}