Cod sursa(job #1893550)

Utilizator dumitrualexAlex Dumitru dumitrualex Data 25 februarie 2017 19:23:05
Problema Elementul majoritar Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <fstream>
#include <vector>

using namespace std;

int main()
{
    ios::sync_with_stdio(0);

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

	int N;
	vector<int> v;

	in >> N;
	for (int i = 0; i < N; i++)
		in >> v[i];

	int el = v[0];
	int cnt = 1;

	bool ok = false;

	for (int i = 1; i < N; i++)
		if (v[i] != el)
		{
			cnt--;
			if (cnt == 0)
			{
				el = v[i];
				cnt = 1;
			}
		}
		else
			cnt++;

	cnt = 0;

	for (int i = 0; i < N; i++)
		if (v[i] == el)
			cnt++;

	if (cnt >= N/2 + 1)
		out << el << ' ' << cnt << '\n';
	else
		out << -1 << '\n';
}