Cod sursa(job #3349772)

Utilizator ameliacullRoibu Amelia Maria ameliacull Data 2 aprilie 2026 14:48:22
Problema Elementul majoritar Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.88 kb
#include <fstream>
#include <vector>
#include <random>

using namespace std;

int main() {
    ifstream fin("elmaj.in");
    ofstream fout("elmaj.out");
    int n;
    vector<int> v(n);
    for (int i = 0; i < n; i++) {
        fin >> v[i];
    }

    random_device rd;
    mt19937 gen(rd());
    uniform_int_distribution<> distributie(0, n - 1);

    bool gasit = false;
    for (int i = 0; i < 20; i++) {
        int index_aleator = distributie(gen);
        int candidat = v[index_aleator];

        int aparitii = 0;
        for (int j = 0; j < n; j++) {
            if (v[j] == candidat) {
                aparitii++;
            }
        }
        if (aparitii >= n / 2 + 1) {
            fout << candidat << " " << aparitii << "\n";
            gasit = true;
            break;
        }
    }
    if (!gasit) {
        fout << -1 << "\n";
    }
    fin.close();
    fout.close();
    return 0;
}