Cod sursa(job #2653086)

Utilizator raikadoCri Lu raikado Data 26 septembrie 2020 20:41:35
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include <fstream>
#include <iostream>
#include <vector>
#include <unordered_map>
#include <algorithm>

using namespace std;

int main(int argc, char const *argv[])
{
	ifstream fin("elmaj.in");
	ofstream fout("elmaj.out");

	int n;
	fin >> n;

	unordered_map<int, int> counts;
	for (int i = 0; i < n; i++) {
		int x;
		fin >> x;

		auto it = counts.find(x);
		if (it == counts.end()) {
			counts[x] = 1;
		} else {
			it->second++;
		}
	}

	auto it = max_element(counts.begin(), counts.end(), 
						  [](auto &l, auto &r){return l.second < r.second;});
	if (it->second > n/2) {
		fout << it->first << ' ' << it->second;
	} else {
		fout << -1;
	}

	return 0;
}