Pagini recente » Cod sursa (job #1473738) | Cod sursa (job #1831317) | Cod sursa (job #1343888) | Cod sursa (job #53750) | Cod sursa (job #409335)
Cod sursa(job #409335)
#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()
{
int i;
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);
for(i=1;i<=n;i++){
//printf("%d\n",v[i]);
}
int m,a,s=0;
for(j=1;j<n-1;j++){
for(m=j+1;m<n;m++){
//printf("%d ",v[i]+v[m]);
//printf("%d\n",binary_search(v[j]+v[m]));
a=binary_search(v[j]+v[m])-m;
s=s+a;
}
}
printf("%d",s+1);
return 0;
}