Cod sursa(job #2554917)

Utilizator MarcGrecMarc Grec MarcGrec Data 23 februarie 2020 15:13:23
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.59 kb
#define MAX_N 1000000

#include <fstream>
using namespace std;

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

int n, A[MAX_N + 1];

int main()
{
	fin >> n;
	int cand = 0, k = 0;
	for (int i = 1; i <= n; ++i)
	{
		fin >> A[i];
		if (k == 0)
		{
			cand = A[i];
			k = 1;
		}
		else
		{
			k += (A[i] == cand) ? 1 : -1;
		}
	}
	
	int nrap = 0;
	for (int i = 1; i <= n; ++i)
	{
		if (A[i] == cand)
		{
			++nrap;
		}
	}
	
	if (nrap > (n / 2))
	{
		fout << cand << ' ' << nrap;
	}
	else
	{
		fout << "-1";
	}
	
	fin.close();
	fout.close();
	return 0;
}