Pagini recente » Cod sursa (job #2121401) | Cod sursa (job #2627192) | Cod sursa (job #551227) | Cod sursa (job #3137093) | Cod sursa (job #1671478)
#include <stdio.h>
#include <algorithm>
using namespace std;
int n;
int t[810];
int binary_search1(int st,int dr,int x)
{
int sol=0;
while (st<=dr) {
int m=(st+dr)/2;
if (t[m]<=x) sol=m,st=m+1; else
dr=m-1;
}
return sol;
}
int main()
{
freopen("nrtri.in","r",stdin);
freopen("nrtri.out","w",stdout);
scanf("%d",&n);
for (int i=1;i<=n;i++) scanf("%d",&t[i]);
sort(t+1,t+n+1); int sol=0;
for (int i=1;i<=n;i++)
for (int j=i+1;j<=n;j++) {
int k=binary_search1(1,n,t[i]+t[j]);
if (k>j) sol=sol+(k-j);
}
printf("%d",sol);
return 0;
}