Cod sursa(job #59883)

Utilizator peanutzAndrei Homorodean peanutz Data 10 mai 2007 22:27:26
Problema Medie Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 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]);
	}
}

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

read();

solve();

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

fclose(stdin);
fclose(stdout);

return 0;
}