Cod sursa(job #3201935)

Utilizator fortyforBroscoi Mihai fortyfor Data 10 februarie 2024 10:02:48
Problema Elementul majoritar Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include <bits/stdc++.h>
#include <algorithm>
#include <cmath>
#include <climits>
#include <fstream>
#include <vector>
#include <stack>
#include <queue>
#include <deque>
#include <bitset>
std::vector<int> numbers;
std::ifstream fin ("elmaj.in");
std::ofstream fout ("elmaj.out");
int main()
{
    int n,x;
    fin >> n;
    for (int i=0;i<n;i++)
    {
        fin >> x;
        numbers.push_back(x);
    }
    std::nth_element(numbers.begin(),numbers.begin()+n/2,numbers.end());
    int m=numbers[n/2];
    k=std::count(numbers.begin(),m,numbers.end());
    if (k>=(n/2+1)) {
        fout << m << ' ' << k;
    } else {
        fout << "-1";
    }
    return 0;
}