Pagini recente » Cod sursa (job #1067427) | Cod sursa (job #3187793) | Cod sursa (job #1500787) | Cod sursa (job #1991993) | Cod sursa (job #1405453)
#include<stdio.h>
#include<algorithm>
using namespace std;
int v[1001];
int find(int a,int b,int x){
int l1=a,l2=b,m,elem;
while(l1<=l2){
m=(l1+l2)/2;
if(v[m]<=x){
elem=m;
l1=m+1;
}
else
l2=m-1;
}
return elem;
}
int main() {
freopen("nrtri.in","r",stdin);
freopen("nrtri.out","w",stdout);
int n,i,j,a,b,nr=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&v[i]);
sort(v+1,v+n+1);
for(i=1;i<=n-2;i++)
for(j=i+1;j<=n-1;j++)
nr=nr+find(j+1,n,v[i]+v[j])-j;
printf("%d",nr);
return 0;
}