Cod sursa(job #643402)

Utilizator marcelcodreaCodrea Marcel marcelcodrea Data 3 decembrie 2011 17:31:27
Problema Medie Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <stdio.h>

#define NMAX 7009

long f[NMAX];
long v[NMAX];
long count;

int n;

void read()
{
int i, x;

scanf("%d\n", &n);

for(i = 1; i <= n; ++i)
	{
		scanf("%d\n", &x);
		++f[x];
	}
}

void solve()
{
int i, j;

for(i = 0; i < NMAX; ++i)
	{
		if(f[i] > 2)
			count += f[i] * (f[i]-1)/2 * (f[i]-2);

		for(j = i+1; j < NMAX; ++j)
			if(f[i]  &&  f[j]  &&  ((i+j)/2 == (double)(i+j)/2)  &&  f[(i+j)/2])
				count += f[i] * f[j] * f[(i+j)/2];
	}
}

int main()
{
freopen("medie.in", "r", stdin);
freopen("medie.out", "w", stdout);

read();

solve();

printf("%ld\n", count);

fclose(stdin);
fclose(stdout);

return 0;
}