Pagini recente » Cod sursa (job #1529817) | Cod sursa (job #1863032) | Cod sursa (job #1557165) | Cod sursa (job #1001394) | Cod sursa (job #2655696)
#include <iostream>
#include <algorithm>
using namespace std;
int v[1001];
int bs_right(int st,int dr, int x)
{
int med,last=-1;
while(st<=dr)
{ med=(st+dr)/2;
if(x>=v[med])
{
last=med;
st=med+1;
}
else
{
dr=med-1;
}
}
return last;
}
int main()
{int n,i,j,k,s,poz,nr=0;
cin>>n;
for(i=1;i<=n;i++)
{
cin>>v[i];
}
sort (v+1,v+n+1);
for(i=1;i<=n-1;i++)
{
for(j=i+1;j<=n;j++)
{
s=v[i]+v[j];
poz=bs_right(j+1,n,s-1);
if(poz!=-1)
{
nr+=poz-j;
}
}
}
cout<<nr;
return 0;
}