Cod sursa(job #1171673)

Utilizator roxana.istratePoenaru Roxana roxana.istrate Data 16 aprilie 2014 01:39:25
Problema Elementul majoritar Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <fstream>
#include <map>

using namespace std;

int N;

map<int, int> mappings;
map<int,int>::iterator it;

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

void init(){
	for(int i = 0; i < 2 * 1000000000 + 1; i++){
		mappings[i] = 0;
	}
}

int main(){
	fin >> N;
	int x, count = -1, who = -1;
	
	init();
	
	for(int i = 0; i < N; i++){
		fin >> x;
		mappings[x] += 1;
	}
	
	for (map<int,int>::iterator it=mappings.begin(); it!=mappings.end(); ++it){
		if(it->second > count){
			count = it->second;
			who = it->first;
		}
	}
	if(count >= N/2 + 1)
		fout << who << " " << count << "\n";
	else
		fout << "-1\n";
	return 0;
}