Cod sursa(job #650759)

Utilizator DaicuDaicu Alexandru Daicu Data 18 decembrie 2011 21:41:10
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include<stdio.h>
int n,a[1000001];
void citire(){
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
		scanf("%d",&a[i]);
}

void el_maj(){
	int elmaj,count=0;
	for(int i=1;i<=n;i++){
		if(!count)
			elmaj=a[i],count=1;
		else
			count+=(a[i]==elmaj)?1:-1;
	}
	count=0;
	for(int i=1;i<=n;i++)
		if(a[i]==elmaj)
			++count;
	(count>=(n/2+1))?printf("%d %d",elmaj,count) : printf("-1");
}

int main(){
	freopen("elmaj.in","r",stdin);
	freopen("elmaj.out","w",stdout);
	citire();
	el_maj();
	return 0;
}