Cod sursa(job #3332319)

Utilizator ValiAntonieqxcfds ValiAntonie Data 6 ianuarie 2026 02:21:06
Problema Elementul majoritar Scor 90
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.6 kb
#include <bits/stdc++.h>
using namespace std;

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

int n;
int v[1000000];
mt19937 gen_rand(time(NULL));
unordered_map<int,int> m;
int Max, elem, frec;
int main(){
fin>>n;
for (int i = 0; i < n; i++){
    fin>>v[i];
}
for (int i = 1; i <= 30; i++){
    int poz = v[gen_rand() % n];
    m[poz]++;
    if (m[poz] > Max){
        Max = m[poz];
        elem = poz;
    }
}
for (int i = 0; i < n; i++){
    if (v[i] == elem)
        frec++;
}
if (frec < n / 2 + 1)
    fout << -1;
else
    fout << elem << " " << frec;
    return 0;
}