Pagini recente » Cod sursa (job #169500) | Cod sursa (job #1976366) | Cod sursa (job #368744) | Cod sursa (job #1910372) | Cod sursa (job #409377)
Cod sursa(job #409377)
#include <stdio.h>
#include <algorithm>
using namespace std;
int n, v[801];
int binary_search(int val)
{
int i, step;
for (step = 1; step <n; step <<= 1);
for (i = 0; step; step >>= 1){
if (i + step <= n && v[i + step] <= val){
i += step;
}
}
return i;
}
int main()
{
freopen("nrtri.in","r",stdin);
freopen("nrtri.out","w",stdout);
scanf("%d",&n);
int j;
for(j=1;j<=n;j++){
scanf("%d",&v[j]);
}
sort(v+1,v+n+1);
int m,a,s=0;
for(j=1;j<n-1;j++){
for(m=j+1;m<n;m++){
a=binary_search(v[j]+v[m])-m;
s=s+a;
}
}
printf("%d",s);
return 0;
}