Cod sursa(job #651933)

Utilizator d.andreiDiaconeasa Andrei d.andrei Data 22 decembrie 2011 14:28:22
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <cstdio>

#define file_in "elmaj.in"
#define file_out "elmaj.out"

int N,x,cur,nr,i;
int v[1010100];

int main(){
	
	freopen(file_in,"r",stdin);
	freopen(file_out,"w",stdout);
	
	scanf("%d", &N);
	scanf("%d", &v[1]);
	cur=v[1];
	nr=1;
	
	for (i=2;i<=N;++i){
		scanf("%d", &v[i]);
		if (v[i]==cur)
			nr++;
		else
			nr--;
		if (nr==-1){
			nr=0;
			cur=v[i];
		}
	}
	nr=0;
	for (i=1;i<=N;++i)
		 if (v[i]==cur)
			 nr++;
	if (nr>=N/2)
		printf("%d %d\n", cur,nr);
	else
		printf("-1\n");
	
	return 0;
	
}