Cod sursa(job #681328)

Utilizator gabrielvGabriel Vanca gabrielv Data 16 februarie 2012 21:56:58
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
using namespace std;
#include<cstdio>
#define Max 1000005
int v[Max];
int main()
{
	int n,i,cand,k,c;
	freopen("elmaj.in","r",stdin);
	freopen("elmaj.out","w",stdout);
	scanf("%d",&n);
	for(i=1;i<=n;i++)
		scanf("%d",&v[i]);
	cand=-1; k=0;
	for(i=1;i<=n;i++)
		if(!k)
		{
			cand=v[i];
			k=1;
		}
		else
			if(cand==v[i])
				k++;
			else
				k--;
	c=0;
	if(k)
		for(i=1;i<=n;i++)
			if(v[i]==cand) c++;
	if(c)
		printf("%d %d",cand,c);
	else
		printf("-1");
	return 0;
}