Pagini recente » Cod sursa (job #356098) | Cod sursa (job #297414) | Cod sursa (job #1628114) | Cod sursa (job #3243645) | Cod sursa (job #806464)
Cod sursa(job #806464)
#include<stdio.h>
#include<vector>
#include<algorithm>
#define nmax 800
using namespace std;
int v[nmax];
int n;
int nr;
void citire(){
scanf("%d",&n);
for(int i=0;i<n;i++)
scanf("%d",&v[i]);
}
int binsearch(int f,int l,int sum){
int midd;
while(f<=l){
midd=(f+l)/2;
if(v[midd]>sum)
l=midd-1;
else
f=midd+1;
}
return l;
}
int main(){
freopen("nrtri.in","r",stdin);
freopen("nrtri.out","w",stdout);
citire();
sort(v,v+n);
for(int i=0;i<n-2;i++)
for(int j=i+1;j<n-1;j++)
nr+=binsearch(j,n-1,v[i]+v[j])-j;
printf("%d",nr);
return 0;
}