Cod sursa(job #911128)

Utilizator NicuCJNicu B. NicuCJ Data 11 martie 2013 12:51:22
Problema Medie Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <fstream>
#include <vector>
#define mh 7001
using namespace std;
vector<short> hsh[mh], valunu[mh], valdoi[mh];
void push_hash(short k, short s, short t)
{
	short mod=k%mh;
	hsh[mod].push_back(k);
	valunu[mod].push_back(s);
	valdoi[mod].push_back(t);
}
short search_hash(short k, short s)
{
	short mod=k%mh, contor=0;
	short i;
	for(i=0; i<hsh[mod].size(); i++)
	{
		if(hsh[mod][i]==k && valunu[mod][i]!=s && valdoi[mod][i]!=s)
		{
			contor++;
		}
	}
	return contor;
}
short sum, n, i, x[9001], j;
int main()
{
	ifstream f("medie.in");
	ofstream g("medie.out");
	f>>n;
	for(i=1; i<=n; i++)
	{
		f>>x[i];
	}
	for(i=1; i<=n; i++)
	{
		for(j=i+1; j<=n; j++)
		{
			if((x[i]+x[j])%2==0)
			push_hash((x[i]+x[j])/2, i, j);
		}
	}
	for(i=1; i<=n; i++)
	{
		sum+=search_hash(x[i], i);
	}
	g<<sum<<"\n";
}