Cod sursa(job #1061483)

Utilizator poptibiPop Tiberiu poptibi Data 19 decembrie 2013 20:48:24
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Teme Pregatire ACM Unibuc 2013 Marime 0.52 kb
#include <fstream>
#include <algorithm>
using namespace std;

const int NMAX = 1000100;

int N, V[NMAX], L, R;

int main()
{
    ifstream fin("elmaj.in");
    ofstream fout("elmaj.out");

    fin >> N;
    for(int i = 0; i < N; ++ i) fin >> V[i];
    sort(V, V + N);
    int Val = V[N / 2], L = N / 2, R = N / 2;
    while(R < N && V[R] == Val) R ++;
    R --;
    while(L >= 0 && V[L] == Val) L --;
    L ++;
    if(R - L + 1 >= N / 2 + 1) fout << Val << " " << R - L + 1 << "\n";
    else fout << -1;
}