Cod sursa(job #884230)

Utilizator alex_unixPetenchea Alexandru alex_unix Data 20 februarie 2013 19:54:14
Problema Medie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb

#include <cstdio>

const int MAX_N(9001);
const int MAX_VALUE(7001);

int v [MAX_N];
int p [MAX_VALUE];
int o [MAX_VALUE];

int n, result;

inline void read (void)
{
	std::freopen("medie.in","r",stdin);
	std::scanf("%d",&n);
	for (int index(1) ; index <= n ; ++index)
		std::scanf("%d",&v[index]);
	std::fclose(stdin);
}

inline void print (void)
{
	std::freopen("medie.out","w",stdout);
	std::printf("%d\n",result);
	std::fclose(stdout);
}

inline void compute (void)
{
	int i, j;
	for (i = 1 ; i <= n ; ++i)
	{
		++o[v[i]];
		for (j = i + 1 ; j <= n ; ++j)
			if (!((v[i] + v[j]) % 2))
				++p[(v[i] + v[j]) / 2];
	}
	for (i = 1 ; i <= n ; ++i)
		result += p[v[i]] - o[v[i]] + 1;
}

int main (void)
{
	read();
	compute();
	print();
	return 0;
}