Cod sursa(job #3349520)

Utilizator DalvDalvGhita Vladut DalvDalv Data 31 martie 2026 08:28:54
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <algorithm>
#include <cmath>
#include <iomanip>
#include <iostream>
#include <fstream>
#include <random>
#include <set>
#include <vector>

using namespace std;

std::mt19937 rng(2);

int v[1000001];
int main() {
    ifstream cin("elmaj.in");
    ofstream cout("elmaj.out");

    int n;
    cin >> n;

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

    int limit = min(n * 2 / 3, 25);
    for (int j = 0; j < limit; j++) {
        int i = rng() % n;

        int cnt = 0;
        for (int k = 0; k < n; k++) {
            if (v[k] != v[i]) continue;
            cnt++;
        }

        if (cnt > n / 2) {
            cout << v[i] << " " << cnt << endl;
            break;
        }
    }
}