Cod sursa(job #638614)

Utilizator calinuxIorgulescu Calin calinux Data 21 noiembrie 2011 03:42:17
Problema Elementul majoritar Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb

using namespace std;

//#include <cstdio>
#include <fstream>
#include <map>

int main() {

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

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

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


//	scanf("%d\n", &n);
	fin >> n;

	el = -1;
	count = 0;

	for (i = 0 ; i < n ; i++) {

//		scanf("%d ", &n_el);
		fin >> n_el;
		a_it = a.find(n_el);
		if (a_it != a.end())
			a_it->second++;
		else
			a.insert(pair<int, int>(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);
	fout << el << " " << a.find(el)->second;

	return 0;

}