Cod sursa(job #701231)

Utilizator oprea1si2si3Oprea Sebastian oprea1si2si3 Data 1 martie 2012 14:37:28
Problema Elementul majoritar Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include<fstream>
using namespace std;

int n,a[10001],k,nr,cand,i,cont;

int main()
{
	ifstream in("elmaj.in");
	ofstream out("elmaj.out");
	in>>n;
	for(i=1;i<=n;i++)
		in>>a[i];		
	
	k=1;	
	cand=a[1];
	for(i=2;i<=n;i++)
	{
		if(k==0)
		{
			cand=a[i];
			k=1;
		}
		else
		if(cand==a[i])
			k++;
		else
			k--;
	}
	nr=0;
		for(i=1;i<=n;i++)
			if(a[i]==cand)
				nr++;
		
	if(nr>=n/2+1)
		{out<<cand<<" "<<nr;
		cont=1;
		}
	if(cont==0)
		out<<"-1";

	in.close();
	out.close();
	return 0;
}