Cod sursa(job #2631227)

Utilizator sebimihMihalache Sebastian sebimih Data 29 iunie 2020 15:28:59
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include <iostream>
#include <fstream>
#include <limits.h>
#include <vector>
#include <algorithm>
#include <unordered_map>
#include <stack>

using namespace std;

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

int main()
{
	int n;
	fin >> n;

	stack<int> stiva;
	vector<int> vec(n);

	for (int i = 0; i < n; i++)
	{
		fin >> vec[i];

		if (stiva.empty() || stiva.top() == vec[i])
		{
			stiva.push(vec[i]);
		}
		else
		{
			stiva.pop();
		}
	}

	if (!stiva.empty())
	{
		int NrFav = stiva.top(), contor = 0;
		for (int i = 0; i < n; i++)
		{
			if (vec[i] == NrFav)
			{
				contor++;
			}
		}

		if (contor > n / 2)
		{
			fout << NrFav << ' ' << contor;
			return 0;
		}
	}
	fout << -1;
	return 0;
}

/*

	

*/