Cod sursa(job #1617825)

Utilizator gabrielmGabriel Majeri gabrielm Data 27 februarie 2016 16:32:32
Problema Elementul majoritar Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <fstream>
#include <map>

using namespace std;

map<unsigned, unsigned> v;

int main()
{
    ifstream in("elmaj.in");
    unsigned n;
    in >> n;

    for(unsigned i = 0, x; i < n; ++i) {
        in >> x;
        ++v[x];
    }

    unsigned maximnr = 0, maximap = 0;

    for(auto& el : v)
        if(el.second > maximap) maximnr = el.first, maximap = el.second;

    ofstream out("elmaj.out");
    if(maximap >= n / 2)
        out << maximnr << ' ' << maximap;
    else
        out << -1;

    return 0;
}