Cod sursa(job #668555)

Utilizator gabipurcaruGabi Purcaru gabipurcaru Data 25 ianuarie 2012 08:38:57
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include <fstream>
using namespace std;

ifstream in("elmaj.in");
ofstream out("elmaj.out");

const int MAXN = 1000002;

int a[MAXN],i,n,c,k;

int main() {
	in>>n;
	c=-1;
	for(i=1; i<=n; i++) {
		in>>a[i];
		if(!k) {
			k=1;
			c = a[i];
		} else if(c == a[i]) {
			k++;
		} else {
			k--;
		}
	}
	if(c == -1) {
		out<<c;
		return 0;
	}
	int nr=0;
	for(i=1; i<=n; i++)
		if(a[i] == c)
			nr++;
	if(nr < n/2+1) {
		out<<-1;
	} else {
		out<<c<<' '<<nr;
	}
	return 0;
}