Cod sursa(job #642112)

Utilizator darrenRares Buhai darren Data 30 noiembrie 2011 16:19:23
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <fstream>

using namespace std;

const int SIZE = 1000002;

int N, A[SIZE];
int element, number;

int main()
{
	ifstream fin("elmaj.in");
	ofstream fout("elmaj.out");
	
	fin >> N;
	for (int i = 1; i <= N; ++i)
	{
		fin >> A[i];
		
		if (element == A[i] || number == 0) ++number, element = A[i];
		else                                --number;
	}
	
	number = 0;
	for (int i = 1; i <= N; ++i)
		number += (A[i] == element);
	if (number > N / 2)
		fout << element << ' ' << number;
	else
		fout << -1;
	
	fin.close();
	fout.close();
}