Cod sursa(job #658082)

Utilizator Stefex09Stefan Teodorescu Stefex09 Data 7 ianuarie 2012 21:17:27
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include<stdio.h>
#define S 1010100
using namespace std;
int main()
{
	freopen("elmaj.in","r",stdin);
	freopen("elmaj.out","w",stdout);
	int v[S],nr,elmaj,x;
	register int i;
	scanf("%d",&x);
	for(i=1;i<=x;i++)
		scanf("%d",&v[i]);
	elmaj=v[1];nr=1;
	for(i=2;i<=x;i++){
		if(v[i]==elmaj) nr++;
		else nr--;
		if(nr==-1){
			nr=0;elmaj=v[i];
		}
	}
	nr=0;
	for(i=1;i<=x;i++) if(v[i]==elmaj) nr++;
	if(nr>=x/2) printf("%d %d",elmaj,nr);
	else printf("-1");
	return 0;
}