Cod sursa(job #709547)

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

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

long long  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],k=1;
		else
			if(cand==v[i])
				k++;
			else
				k--;
		
		
	}

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