Cod sursa(job #658450)

Utilizator jeanFMI - Petcu Ion Cristian jean Data 8 ianuarie 2012 21:01:00
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include<stdio.h>
#define Nmax 1000010

int v[Nmax],i,n,cnt,x;

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