Cod sursa(job #894864)

Utilizator whoasdas dasdas who Data 27 februarie 2013 00:29:51
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include <fstream>

using namespace std;

int main()
{
	ifstream in("elmaj.in");
	ofstream out("elmaj.out");
	int n;
	in>>n;
	int v[n];
	for (int i = 0; i < n; i++) {
		in>>v[i];
	}
	int k = 0, maj;
	for (int i = 0; i < n; i++) {
		if (k == 0) {
			maj = v[i];
			k = 1;
		} else if (v[i] == maj) {
			k++;
		} else {
			k--;
		}
	}
	k = 0;
	for (int i = 0; i < n; i++) {
		k += (v[i] == maj);
	}
	if (k >= n/2 + 1) {
		out<<maj<<" "<<k<<endl;
	} else {
		out<<-1<<endl;
	}
	return 0;
}