Cod sursa(job #638612)

Utilizator calinuxIorgulescu Calin calinux Data 21 noiembrie 2011 03:32:23
Problema Elementul majoritar Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb

using namespace std;

#include <cstdio>
#include <map>

int main() {

	freopen("elmaj.in", "r", stdin);
	freopen("elmaj.out", "w", stdout);

	int i, n;
	register int n_el, el, count;
	int el_count;
	map<int, int> a;
	map<int, int>::iterator a_it;


	scanf("%d\n", &n);

	el = -1;
	count = 0;

	for (i = 0 ; i < n ; i++) {
		scanf("%d ", &n_el);
		a_it = a.find(n_el);
		if (a_it != map::end)
			a_it->second++;
		else
			a.insert(n_el, 1);

		if (n_el == el)
			count++;
		else
			if (count > 0)
				count--;
			else
				el = n_el,
				count = 1;

	}


	printf("%d %d\n", el, a.find(el)->second);

	return 0;

}