Cod sursa(job #1047786)

Utilizator PokerDawgCristian Popov PokerDawg Data 4 decembrie 2013 21:24:59
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <iostream>
#include <fstream>
 
using namespace std;
 
ifstream in("elmaj.in");
ofstream out("elmaj.out");

int n, a[1000001];

int main ()
{ 
	in >> n;
	for (int i = 1; i <= n; i ++)
		in >> a[i];

	int aparitii = 0, nr;
	for (int i = 1; i <= n; i ++)
		if (!aparitii)
		{
			nr = a[i];
			aparitii = 1;
		}
		else
			if (a[i] == nr)
				aparitii ++;
			else
				aparitii --;

	aparitii  = 0;
	for (int i = 1; i <= n; i ++)
		if (a[i] == nr)
			aparitii ++;
	
	if (aparitii >= n / 2 + 1)
		out << nr << " " << aparitii;
	else
		out << -1;	

	in.close();
	out.close();

	return 0;
}