Cod sursa(job #709540)

Utilizator BarracudaFMI-Alex Dobrin Barracuda Data 8 martie 2012 11:14:02
Problema Elementul majoritar Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include<fstream>
#define dim 1000002
using namespace std;

ifstream f("elmaj.in");
ofstream g("elmaj.out");

int v[dim],k,cand,i,j,ap,n;

int main (){
	f>>n;
	
	
	for(i=1; i<=n;i++)
		f>>v[i];
	
	k=0;
	cand =-1;
	for(i=1;i<=n;i++){
		
		if(k==0)
			cand=v[i];
		else
			if(cand==v[i])
				k++;
			else
				k--;
		
		
	}
	
	for(i=1;i<=n;i++)
		
		if(v[i]==cand)
			ap++;
		
	if(ap>n/2)
		g<<cand<<" "<<ap<<"\n";
	else
		g<<-1;
	
	return 0;
}