Cod sursa(job #1250309)

Utilizator radu_bucurRadu Bucur radu_bucur Data 27 octombrie 2014 23:37:22
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include <fstream>
using namespace std;

ifstream in("elmaj.in");
ofstream out("elmaj.out");
int i, c, nr, nr1, n, a[1000005];


int main()
{
	in>>n;
	for(i=0;i<n;i++) in>>a[i];
	c=0; nr=0;
	for(i=0;i<n;i++)
	{
		if(nr==0)
		{
			nr=1;
			c=a[i];
		}
		else
		{
			if(c!=a[i])
			{
				nr--;
			}
			else
			{
				nr++;
			}
		}
	}
	nr1=0;
	for(i=0;i<n;i++)
	{
		if(a[i]==c) nr1++;
	}
	if(nr1>=n/2+1) out<<c<<" "<<nr1;
	else out<<"-1";
	return 0;
}