Cod sursa(job #1086416)

Utilizator laurionLaurentiu Ion laurion Data 18 ianuarie 2014 01:56:37
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Teme Pregatire ACM Unibuc 2013 Marime 0.82 kb
#define nume "elmaj"

#ifndef INFOARENA
#define fisier "../algorithm solutions/" nume
#define DBG
#else
#define fisier nume
#endif

#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
#include <set>
#include <cassert>
#include <cstring>
#include <map>
#ifdef INFOARENA
#include <tr1/unordered_set>
#include <tr1/unordered_map>
using namespace std::tr1;
#else
#include <unordered_set>
#include <unordered_map>
#endif

using namespace std;

ifstream fin(fisier".in");
ofstream fout(fisier".out");

#ifdef DBG
#define fout cout
#endif

int n;
int v[1000000];

int main()
{
    fin>>n;
    for(int i = 0; i < n; ++i)
        fin>>v[i];
    nth_element(v, v+n/2, v+n);
    int sol = count(v, v+n, v[n/2]);
    
    if(sol <= n/2)
        fout<<-1<<'\n';
    else
        fout<<v[n/2]<<' '<<sol<<'\n';
    
    
	return 0;
}