Cod sursa(job #640396)

Utilizator okros_alexandruOkros Alexandru okros_alexandru Data 25 noiembrie 2011 16:36:06
Problema Elementul majoritar Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include<fstream>
using namespace std;
int v[1001000];
int main() {
	int i,k=0,cand,n;
	ifstream in("elmaj.in");
	ofstream out("elmaj.out");
	in>>n;
	for(i=0;i<n;i++)
		in>>v[i];
	for(i=0;i<n;i++) {
		if(k==0)
			cand=v[i],k=1;
		else
		if(v[i]==cand)
			k++;
		else
			k--;
		}
	for(i=0,k=0;i<n;i++)
		if(v[i]==cand)
			k++;
	if(k-1>=n/2)
		out<<cand;
	else
		out<<"-1";
	out<<'\n';
	in.close();
	out.close();
	return 0;
}