Cod sursa(job #1476352)

Utilizator miki880Nechita Mihai miki880 Data 24 august 2015 23:40:54
Problema Elementul majoritar Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#define _CRT_SECURE_NO_WARNINGS
#include <cstdio>
#include <cstdlib>
#include <vector>
using namespace std;
//#define _debug
int main() {
#ifndef _debug
	freopen("elmaj.in", "r", stdin);
	freopen("elmaj.out", "w", stdout);
#endif
	long n, piv, s = 1;
	vector<long> v;
	scanf("%ld", &n);
	v.reserve(n);
	scanf("%ld", &piv);
	for (long i = 0; i < n; ++i) {
		scanf("%ld", &v[i]);
		if (!s) {
			piv = v[i];
			s = 1;
		}
		if (piv == v[i])
			s++;
		else
			s--;
	}
	long nr = 0;
	for (long i = 0; i < n; ++i) {
		if (v[i] == piv) nr++;
	}
	if (nr > n / 2)
		printf("%ld %ld\n", piv, nr);
	else
		printf("-1\n");
}