Cod sursa(job #634538)

Utilizator nandoLicker Nandor nando Data 16 noiembrie 2011 17:35:47
Problema Elementul majoritar Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <fstream>
#include <iostream>
using namespace std;

#define MAXN 1000100

fstream fin("elmaj.in", ios::in);
fstream fout("elamj.out", ios::out);

int n, a[MAXN];

int main()
{
	fin >> n;
	
	int x = -1, num = 0;
	for (int i = 0; i < n; ++i) {
		fin >> a[i];
		
		if (num == 0) {
			num = 1, x = a[i];
		} else if (a[i] == x) {
			++num;	
		} else {
			--num;	
		}
	}
	
	int nr = 0;
	for (int i = 0; i < n; ++i) {
		if (x == a[i])
			++nr;	
	}
	
	if (nr > n >> 1) {
		cout << x << " " << nr << endl;
	} else {
		cout << -1 << endl;	
	}
	
	fin.close();
	fout.close();
	return 0;	
}