Cod sursa(job #650522)

Utilizator Alexandru13Dumitraiche Marius-Alexandru Alexandru13 Data 18 decembrie 2011 13:17:25
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#define mod 7919
#include<fstream>
#include<vector>
using namespace std;
vector <int> h[mod];
vector <int> nr[mod];
int adaug(int x)
{
	int rest=x%mod;
	for(int i=0;i<h[rest].size();++i)
		if(x==h[rest][i])
		{
			++nr[rest][i];
			return nr[rest][i];
		}
	h[rest].push_back(x);
	nr[rest].push_back(1);
	return 1;
}
int main()
{
	ifstream f("elmaj.in");
	ofstream g("elmaj.out");
	int n,a,gasit=-1,aparitii,ap;
	f>>n;
	for(int i=1;i<=n;i++)
	{
		f>>a;
		aparitii=adaug(a);
		if(aparitii>n/2) gasit=a,ap=aparitii;
	}
	if(gasit!=-1)
		g<<gasit<<' '<<ap;
	else
		g<<gasit;
	f.close();
	g.close();
	return 0;
}