Pagini recente » Cod sursa (job #1076334) | Cod sursa (job #2660635) | Cod sursa (job #833401) | Cod sursa (job #1388931) | Cod sursa (job #1207662)
#include <cstdio>
#include <algorithm>
using namespace std;
#define NMAX 1000
int ans,N,i,j,right,left,final,mid;
int A[NMAX];
int main()
{
freopen("nrtri.in","r",stdin);
freopen("nrtri.out","w",stdout);
scanf("%d",&N);
for (i=1;i<=N;++i)
scanf("%d",&A[i]);
sort(A+1,A+N+1);
for (i=1;i<=N-2;++i)
for (j=i+1;j<=N-1;++j)
{
left=1,right=N,final=0;
while (left<=right)
{
mid=(left+right)>>1;
if (A[mid]<=A[i]+A[j])
{
final=mid;
left=mid+1;
continue;
}
right=mid-1;
}
ans+=final-j;
}
printf("%d\n",ans);
return 0;
}