Cod sursa(job #881606)

Utilizator howsiweiHow Si Wei howsiwei Data 18 februarie 2013 12:28:27
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#include <fstream>
using namespace std;

int main() {
	ifstream fin("elmaj.in");
	ofstream fout("elmaj.out");
	int n; fin >> n;
	int a[n], nsurv=0, surv=-1;
	for (int i=0; i<n; ++i) {
		fin >> a[i];
		if (nsurv==0) {
			nsurv=1;
			surv=a[i];
		}
		else if (a[i]==surv) ++nsurv;
		else --nsurv;
	}
	nsurv=0;
	for (int i=0; i<n; ++i) {
		if (a[i]==surv) ++nsurv;
	}
	if (nsurv>n/2) fout << surv << ' ' << nsurv;
	else fout << -1;
	return 0;
}