Cod sursa(job #2106272)

Utilizator patcasrarespatcas rares danut patcasrares Data 15 ianuarie 2018 15:58:58
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include<fstream>
#include<algorithm>
#define DN 1000005
using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
int n,v[DN],nr;
int main()
{
    fin>>n;
    for(int i=1;i<=n;i++)
        fin>>v[i];
    random_shuffle(v+1,v+n+1);
    nth_element(v+1,v+n/2+1,v+n+1);
    for(int i=1;i<=n;i++)
        if(v[i]==v[n/2+1])
            nr++;
    if(nr>=n/2+1)
        fout<<v[n/2+1]<<' '<<nr;
    else
        fout<<-1;
}