Pagini recente » Cod sursa (job #136504) | Cod sursa (job #2212646) | Cod sursa (job #2706868) | Cod sursa (job #2484831) | Cod sursa (job #234914)
Cod sursa(job #234914)
#include <stdio.h>
FILE *f,*g;
int n,v[801],i,j,k,sum;
int cautare(int x, int y, int sum)
{
int m,i,j;
i=x;
j=y;
while (i<=j)
{
m=(i+j)/2;
if (v[m]>sum)
j=m-1;
else
i=m+1;
}
k=m-x+1;
return k;
}
int main()
{
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-1;i++)
for (j=i+1;j<=n;j++)
if (v[i]>v[j])
{
v[0]=v[i];
v[i]=v[j];
v[j]=v[0];
}
for (i=1;i<=n-2;i++)
for (j=i+1;j<=n-1;j++)
{
sum=v[i]+v[j];
k+=cautare(j+1,n,sum);
}
printf("%d", k);
return 0;
}