Cod sursa(job #657320)

Utilizator cremarencodianaCremarenco Diana cremarencodiana Data 6 ianuarie 2012 13:12:45
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
# include <stdio.h>
int nr,i,n,x,a[1000010],nr1;
int main()
{
	freopen("elmaj.in","r",stdin);
	freopen("elmaj.out","w",stdout);
	scanf("%d\n",&n);
	for (i=1; i<=n; i++)
		scanf("%d\n",&a[i]);
	x=a[1]; nr=1;
	for (i=2; i<=n; ++i)
	{
		if (a[i]==x) nr++;
		else
			nr--;
		if (nr==-1) {x=a[i]; nr=1;}
	}
	if (nr>0) 
	{
		nr1=0;
		for (i=1; i<=n; i++)
			if (a[i]==x) nr1++;
		if (nr1>=(n/2)+1) printf("%d %d\n",x,nr1);
			else
				printf("-1\n");
	}
	else
	printf("-1\n");
	return 0;
}