Cod sursa(job #1018349)

Utilizator Lucian-GeorgeFMI Popa Lucian George Lucian-George Data 29 octombrie 2013 14:12:16
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include<iostream>
#include<fstream>
using namespace std;
int v[1000001];
int main()
{
	
	int n,i,x,k=0,elem,nr;
	ifstream f("elmaj.in");
	ofstream g("elmaj.out");
	
	f>>n;
	f>>x;
	elem=x;
	v[1]=x;
	k=1;
	for (i=2; i<=n; i++)
	{
		f>>x;
		v[i]=x;
		if (k==0) elem=x;
	
		if (x==elem) k++;
		else k--;
	}

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