Pagini recente » Cod sursa (job #639426) | Cod sursa (job #1962861) | Istoria paginii runda/here_we_go_oni_10 | Cod sursa (job #198097) | Cod sursa (job #1213668)
#include <cstdio>
#include <algorithm>
using namespace std;
int n,A[813],i,j,sol(0);
void openIOFiles()
{
freopen("nrtri.in","r",stdin);
freopen("nrtri.out","w",stdout);
}
void readIFILE()
{
scanf("%d",&n);
for (int i=1;i<=n;++i) scanf("%d",&A[i]);
}
int binary(int x,int limit)
{
int step,i(limit-1);
for (step=1;step<n-limit;step<<=1);
for (;step>0;step>>=1)
if (i+step<=n && A[i+step]<=x) i+=step;
return i;
}
int main()
{
openIOFiles();
readIFILE();
sort(A+1,A+n+1);
for (i=1;i<=n-2;++i)
for (j=i+1;j<=n-1;++j)
if (binary(A[i]+A[j],j+1)!=j)
sol+=binary(A[i]+A[j],j+1)-j;
printf("%d",sol);
return 0;
}