Cod sursa(job #2431356)

Utilizator rd211Dinucu David rd211 Data 19 iunie 2019 01:05:43
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Teme Pregatire ACM Unibuc 2013 Marime 0.64 kb
#include <iostream>
#include <fstream>
#include <random>
#include <ctime>
#include <cstdlib>
#include <algorithm>
using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
int a[1000001];
int k,n;
int countTimes(int x)
{
    int counter=0;
    for(int i=0;i<n;i++)
        if(x==a[i])
            counter++;
    return counter;
}
int main()
{
    fin>>n;
    k = n/2;
    for(int i = 0;i<n;i++)
        fin>>a[i];
    nth_element(a,a+k,a+n);
    int var = a[k];
    int counter = countTimes(var);
    if(counter>k)
        fout<<var<<" "<<counter<<'\n';
    else
        fout<<-1<<'\n';
    return 0;
}