Cod sursa(job #2723082)

Utilizator FrostfireMagirescu Tudor Frostfire Data 13 martie 2021 15:39:12
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <iostream>
#include <fstream>
#define NMAX 1000000

using namespace std;

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

int n, v[NMAX+10];

int main()
{
	fin >> n >> v[1];
	int cnt = 1, curr = v[1];
	for(int i=2; i<=n; i++)
		{	fin >> v[i];
			if(v[i] == curr)
				cnt++;
			else
				{	cnt--;
					if(!cnt)
						{	curr = v[i];
							cnt = 1;
						}
				}
		}
	cnt = 0;
	for(int i=1; i<=n; i++)
		if(v[i] == curr)
			cnt++;
	if(cnt >= n/2 + 1)
		fout << curr << ' ' << cnt << '\n';
	else
		fout << -1 << '\n';
	return 0;
}