Cod sursa(job #3349764)

Utilizator StefanPeiculeasaPeiculeasa Sergiu-Stefan StefanPeiculeasa Data 2 aprilie 2026 14:09:42
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.85 kb
#include <fstream>
#include <vector>
#include <algorithm>
#include <cstdlib>
#include <ctime>

using namespace std;

int main() {
    // Seed random number generator
    srand(time(0));
    
    ifstream fi("elmaj.in");
    int n;
    fi >> n;
    
    vector<int> nums(n);
    for (int i = 0; i < n; i++) {
        fi >> nums[i];
    }
    fi.close();
    
    bool ok = false;
    ofstream f("elmaj.out");
    
    for (int i = 0; i < 20; i++) {
        // Random choice
        int num = nums[rand() % n];
        
        // Count frequency
        int freq = count(nums.begin(), nums.end(), num);
        
        if (freq >= n/2 + 1) {
            ok = true;
            f << num << " " << freq;
            break;
        }
    }
    
    if (!ok) {
        f << "-1";
    }
    
    f.close();
    
    return 0;
}