Pagini recente » Cod sursa (job #2455920) | Cod sursa (job #1245365) | Cod sursa (job #1835598) | Cod sursa (job #2745969) | Cod sursa (job #1205891)
#include <cstdio>
#include <algorithm>
#define Vmax 7005
using namespace std;
int fr[Vmax],left[Vmax];
int main()
{
int N,x,valmax=0,i,j,ultpoz=0;
long long sol=0,nr;
freopen ("medie.in","r",stdin);
freopen ("medie.out","w",stdout);
scanf("%d", &N);
for(i=1;i<=N;++i)
{
scanf("%d", &x);
++fr[x]; valmax=max(valmax,x);
}
for(i=1;i<=valmax;++i)
{
left[i]=ultpoz;
if(fr[i])
ultpoz=i;
}
for(i=1;i<=valmax;++i)
{
nr=(fr[i]-1)*(fr[i]-2)/2;
for(j=i-1;j>0;j=left[j])
if(2*i-j<=valmax)
nr+=fr[j]*fr[2*i-j];
sol+=1LL*fr[i]*nr;
}
printf("%lld\n", sol);
return 0;
}