Cod sursa(job #2392828)

Utilizator Costy_Suruniuc Constantin Costy_ Data 30 martie 2019 14:51:24
Problema Elementul majoritar Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.75 kb
#include <iostream>
#include <fstream>
#include <vector>
#define ll long long
using namespace std;

int main()
{
	ifstream inFile;
	inFile.open("elmaj.in");
	int n;
	inFile >> n;
	vector<ll> nums;
	ll temp;
	while (inFile >> temp)
	{
		nums.push_back(temp);
	}
	inFile.close();
	ll dom = nums[0];
	int domCount = 0;
	for (auto it : nums)
	{
		if (it == dom)
		{
			domCount++;
		}
		else
		{
			domCount--;
		}
		if (domCount <= 0)
		{
			dom = it;
			domCount = 1;
		}
	}
	domCount = 0;
	for (auto it : nums)
	{
		if (it == dom)
		{
			domCount++;
		}
	}
	ofstream outFile;
	outFile.open("elmaj.out");
	if (domCount > (n / 2))
	{
		outFile << dom << domCount;
	}
	else
	{
		outFile << -1;
	}
	outFile.close();
}