Cod sursa(job #633439)

Utilizator ProcopliucProcopliuc Adrian Procopliuc Data 13 noiembrie 2011 19:51:21
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
# include <fstream>
using namespace std;
ifstream f ("elmaj.in");
ofstream g ("elmaj.out");
int a[1000005],nr,nra,i,n;
int main ()
{
	f>>n;
	for (i=1;i<=n;i++)
		f>>a[i];
	
	for (i=1;i<=n;i++)
		if (nr==0)
		{	
			nr=a[i];
			nra=1;
		}
		else
			if (nr==a[i])
				nra++;
			else
			if (nra==1)
			{
				nr=0;
				nra=0;
			}
			else
				nra--;
			
	nra=0;
	for (i=1;i<=n;i++)
		if (a[i]==nr)
			nra++;
		
	if (nra<=n/2)
		g<<"-1";
	else
		g<<nr<<" "<<nra;
	return 0;
}