Cod sursa(job #432130)

Utilizator drywaterLazar Vlad drywater Data 1 aprilie 2010 20:55:43
Problema Medie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <stdio.h>
FILE *f=fopen("medie.in","r"),*g=fopen("medie.out","w");
int n,v[7001],i,j,k;
long long nr;
int main(void)
{
	fscanf(f,"%d",&n);
	for (i=1;i<=n;i++)
	{	fscanf(f,"%d",&k);
		v[k]++;
	}
	for (i=1;i<6999;i++)
	{
		if (v[i]==0) continue;
		if (v[i]>=3) nr+=(((v[i]-1)*v[i])/2)*(v[i]-2);
		for (j=i+2;j<=7000;j++)
		{
			if ((i+j)%2!=0 || v[j]==0) continue;
			if (v[(i+j)/2]!=0)
				nr+=v[i]*v[j]*v[(i+j)/2];
		}
	}
	i=6999;
	if (v[i]>=3) nr+=(((v[i]-1)*v[i])/2)*(v[i]-2);
	i=7000;
	if (v[i]>=3) nr+=(((v[i]-1)*v[i])/2)*(v[i]-2);
	fprintf(g,"%lld",nr);
	fclose(g);
	return 0;
}