Cod sursa(job #902400)

Utilizator floringh06Florin Ghesu floringh06 Data 1 martie 2013 14:01:35
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include <cstdio>
#include <algorithm>

#define MAX_N 1000005

int v[MAX_N];

int main () {
    freopen ("elmaj.in", "r", stdin);
    freopen ("elmaj.out", "w", stdout);
    
    int N;
    scanf ("%d", &N);
    for (int i = 1; i <= N; ++i) scanf ("%d", v + i);
    
    std::nth_element(v + 1, v + N/2, v + N + 1);
    
    int value = v[N/2], freq = 0;
    for (int i = 1; i <= N; ++i) if (v[i] == value) ++freq;
    
    if (freq > N/2)
        printf ("%d %d\n", value, freq);
    else
        printf ("-1\n");
}