Cod sursa(job #2579481)

Utilizator DawlauAndrei Blahovici Dawlau Data 12 martie 2020 15:18:01
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <fstream>
#include <vector>

using namespace std;

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

int main() {

	int n;
	fin >> n;

	vector <int> Arr(n);
	for (int &itm : Arr)
		fin >> itm;

	int candidat = Arr[0], cnt = 1;
	for (int idx = 1; idx < (int)Arr.size(); ++idx) {

		if (candidat != Arr[idx])
			--cnt;
		else ++cnt;

		if (cnt == 0)
			candidat = Arr[idx], cnt = 1;
	}

	cnt = 0;
	for (const int &itm : Arr)
		if (itm == candidat)
			++cnt;

	if (cnt > n / 2)
		fout << candidat << ' ' << cnt;
	else fout << -1;
}