Cod sursa(job #1002937)

Utilizator teoionescuIonescu Teodor teoionescu Data 29 septembrie 2013 12:24:11
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
#include<fstream>
using namespace std;
ifstream in("elmaj.in");
ofstream out("elmaj.out");
const int N = 1000002;
int v[N],n,q[N],inc;
int main(){
	in>>n;
	for(int i=1;i<=n;i++) in>>v[i];
	for(int i=1;i<=n;i++){
		if(q[0] && v[i]!=q[q[0]]) q[0]--;
		else q[++q[0]]=v[i];
	}
	if(q[0]) for(int i=1;i<=n;i++) if(v[i]==q[q[0]]) inc++;
	if(inc>=n/2+1) out<<q[q[0]]<<' '<<inc<<'\n';
	else out<<-1<<'\n';
	return 0;
}