Pagini recente » Cod sursa (job #2497010) | Cod sursa (job #1555839) | Cod sursa (job #1649483) | Cod sursa (job #110130) | Cod sursa (job #24883)
Cod sursa(job #24883)
#include<stdio.h>
#include<stdlib.h>
int v[30720], val[1024];
int cmp(const void *a, const void *b)
{
return *(int *)b - *(int *)a;
}
int main()
{
freopen("nrtri.in", "r", stdin);
freopen("nrtri.out", "w", stdout);
int n, i, j, sol=0, sol2=0;
scanf("%d", &n);
for (i=1; i<=n; i++)
{
scanf("%d", &val[i]);
++v[val[i]];
//if (v[val[i]]>1) ;
}
for (i=1; i<=30000; i++)
v[i]+=v[i-1];
qsort(val+1, n, sizeof(int), cmp);
for (i=1; i<n-1; i++)
for (j=i+1; j<n; j++)
if (val[i]-val[j] <= val[j]) {sol+=v[val[j]] - v[val[i]-val[j]-1]-1; sol2+=v[val[j]-1] - v[val[i]-val[j]-1];}
printf("%d", (sol+sol2)/2);
return 0;
}