Cod sursa(job #640397)

Utilizator okros_alexandruOkros Alexandru okros_alexandru Data 25 noiembrie 2011 16:37:55
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 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<<" "<<k;
	else
		out<<"-1";
	out<<'\n';
	in.close();
	out.close();
	return 0;
}