Pagini recente » Cod sursa (job #3223393) | Cod sursa (job #1734952) | Cod sursa (job #1426441) | Cod sursa (job #3214705) | Cod sursa (job #469016)
Cod sursa(job #469016)
#include<stdio.h>
#define ll long long
#define maxim(a,b) (a>b ? a : b)
int f[7006],vm;
int v[9007],n;
ll sol;
int main ()
{
int i,j,aux;
freopen("medie.in","r",stdin);
freopen("medie.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&v[i]);
f[v[i]]++;
vm=maxim(vm,v[i]);
}
for(i=1;i<=vm;i++)
{
if(!f[vm])
continue;
f[i]--;
for(j=i+1;j<=vm;j++)
{
if(!f[j] || ((i+j)&1))
continue;
f[j]--;
aux=(f[j]+1)*(f[i]+1);
sol+=(ll)f[(i+j)/2]*aux;
f[j]++;
}
f[i]++;
}
for(i=1;i<=vm;i++)
if(f[i]>2)
sol+=(ll)f[i]*(f[i]-2)*(f[i]-1)/2;
printf("%lld\n",sol);
return 0;
}