Cod sursa(job #795114)

Utilizator mihaiSimuSimu Mihai mihaiSimu Data 7 octombrie 2012 16:36:41
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include <stdio.h>

int a[1000005];
int n;
int main(){
	freopen("elmaj.in","r",stdin);
	freopen("elmaj.out","w",stdout);
	scanf("%d",&n);
	
	int cand=-1,k=0;
	for(int i=1;i<=n;i++){
		scanf("%d",&a[i]);
		if(k==0){cand=a[i];k=1;}
		else
		{	if(a[i]==cand) k++;
			else
			k--;
		}
	}
	int nr=0;
	for(int i=1;i<=n;i++){
		if(cand==a[i]) nr++;
	}
	if(nr>=(n/2+1)) printf("%d %d",cand,nr);
	else
	printf("-1");
	
	return 0;
}