Pagini recente » Cod sursa (job #3038939) | Cod sursa (job #3205031) | Cod sursa (job #3239226) | Cod sursa (job #1376545) | Cod sursa (job #44444)
Cod sursa(job #44444)
#include <stdio.h>
int main()
{
int n=0,v[800],j=0,dr=0,i=0,st=0;
long ct=0;
freopen("nrtri.in","r",stdin);
freopen("nrtri.out","w",stdout);
scanf("%d",&n);
for (i=1;i<=n;i++) scanf("%d",&v[i]);
for (i=1;i<n;i++)
for (j=i+1;j<=n;j++) if (v[i]>v[j]) v[i]=v[j]+v[i]-(v[j]=v[i]);
for (i=1;i<n-1;i++)
for (j=i+1;j<n;j++)
{
st=j+1;
dr=n;
while (st!=dr)
if (v[i]+v[j]>=v[(st+dr)/2]) st=(st+dr)/2+1;
else dr=(st+dr)/2;
ct+=st-j-1;
if ((st==n) && (v[i]+v[j]>=v[n])) ct++;
}
printf("%ld",ct);
return 0;
}