Cod sursa(job #911117)

Utilizator NicuCJNicu B. NicuCJ Data 11 martie 2013 12:48:02
Problema Medie Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <fstream>
#define mh 7001
using namespace std;
short hsh[mh][120];
//short valunu[mh][40], valdoi[mh][40];
void push_hash(int k, int s, int t)
{
	int mod=k%mh;
	hsh[mod][0]++;
	hsh[mod][hsh[mod][0]]=k;
	/*valunu[mod][hsh[mod][0]]=s;
	valdoi[mod][hsh[mod][0]]=t;*/
}
int search_hash(int k, int s)
{
	int mod=k%mh, contor=0;
	int i;
	for(i=1; i<=hsh[mod][0]; i++)
	{
		if(hsh[mod][i]==k /*&& valunu[mod][i]!=s && valdoi[mod][i]!=s*/)
		{
			contor++;
		}
	}
	return contor;
}
int 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";
}