Cod sursa(job #1971741)

Utilizator ifrimencoAlexandru Ifrimenco ifrimenco Data 20 aprilie 2017 21:51:18
Problema Elementul majoritar Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <iostream>
#include <unordered_map>
#include <fstream>

using namespace std;

#define long long long

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

    long n;
    in >> n;
    long maj = n / 2 + 1;
    long sol = -1;

    unordered_map<int, int> ocurrences;
    for (long i = 0, tmp; i < n; i++) {
        in >> tmp;
        if (++ocurrences[tmp] == maj) sol = tmp;
    }
    if (sol == -1) {
        out << -1 << "\n";
        return 0;
    }
    out << sol << " " << ocurrences[sol] << "\n";

    return 0;
}