Pagini recente » Cod sursa (job #2796271) | Cod sursa (job #281864) | Cod sursa (job #1867925) | Cod sursa (job #1160355) | Cod sursa (job #788625)
Cod sursa(job #788625)
#include <cstdio>
#include<algorithm>
using namespace std;
int a[805],c,n;
int cb(int max,int i,int j){
int mij,rez,ma;
for(;i<=j;){
mij=(i+j)/2;
if(ma==mij)break;
if(a[mij]<=max){
rez=mij;
i=mij+1;
}
else j=mij-1;
ma=mij;
}
return rez;
}
int main () {
int i,j,el;
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-1;++i){
for(j=i+1;j<n;++j){
el=cb(a[i]+a[j],j,n);
fprintf(stderr,"%d %d %d\n",i,j,el);
if(el>j)c+=(el-j);
}
}
printf("%d",c);
return 0;
}