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