Cod sursa(job #1013655)

Utilizator vladrochianVlad Rochian vladrochian Data 21 octombrie 2013 15:05:50
Problema Elementul majoritar Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include <cstdio>
using namespace std;
int n,i,v[1000000],cand,ap;
int main()
{
	freopen("elmaj.in","r",stdin);
	freopen("elmaj.out","w",stdout);
	scanf("%d",&n);
	for (i=0;i<n;i++)
	{
		scanf("%d",&v[i]);
		if (!ap)
			cand=v[i];
		else
		{
			if (v[i]==cand)
				ap++;
			else
				ap--;
		}
	}
	ap=0;
	for (i=0;i<n;i++)
		if (v[i]==cand)
			ap++;
	if (ap>n/2)
		printf("%d %d\n",cand,ap);
	else
		printf("-1\n");
	return 0;
}