Pagini recente » Cod sursa (job #3184741) | Cod sursa (job #448604) | Cod sursa (job #2487669) | Cod sursa (job #2031524) | Cod sursa (job #2655248)
#include<bits/stdc++.h>
using namespace std;
ifstream fin("nrtri.in");
ofstream fout("nrtri.out");
int n,v[805];
int BS(int st,int nr)
{
int left=st,right=n,poz=0;
while(left<=right)
{
int mijl=(left+right)/2;
if(v[mijl]<=nr)
{
left=mijl+1;
poz=mijl;
}
else
right=mijl-1;
}
return poz;
}
int main()
{
int i,j;
long long ans=0;
fin>>n;
for(i=1;i<=n;i++)
fin>>v[i];
sort(v+1,v+n+1);
for(i=1;i<n-1;i++)
for(j=i+1;j<n;j++)
{
int val=v[i]+v[j];
int poz=BS(j+1,val);
if(poz!=0)
ans+=poz-j;
}
fout<<ans;
return 0;
}