Cod sursa(job #1893616)

Utilizator dumitrualexAlex Dumitru dumitrualex Data 25 februarie 2017 20:23:41
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <fstream>
#include <vector>

using namespace std;


vector<int> v;
int main()
{
    ios::sync_with_stdio(0);

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

	int N;

	in >> N;
	for (int i = 0; i < N; i++)
	{
		int x;
		in >> x;

		v.push_back(x);
	}
	int el = v[0];
	int cnt = 1;


	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';
}