Cod sursa(job #2554893)

Utilizator MarcGrecMarc Grec MarcGrec Data 23 februarie 2020 14:58:40
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream>
#include <unordered_map>
using namespace std;

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

unordered_map<int, int> M;

int main()
{
	int n;
	fin >> n;
	int r = 0, nrap = 0;
	for (int i = 0, x; i < n; ++i)
	{
		fin >> x;
		if ((r != x) && (r != 0)) { continue; }
		if (r != x)
		{
			int aux = ++M[x];
			
			if (aux >= ((n / 2) + 1))
			{
				nrap = aux;
				r = x;
			}
		}
		else
		{
			++nrap;
		}
	}
	if (r == 0) 
	{ 
		fout << "-1"; 
	}
	else
	{
		fout << r << ' ' << nrap << '\n';
	}
	fin.close();
	fout.close();
	return 0;
}