Pagini recente » Cod sursa (job #2191735) | Cod sursa (job #2465651) | Cod sursa (job #2622521) | Cod sursa (job #2890934) | Cod sursa (job #2310172)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream cin("nrtri.in");
ofstream cout("nrtri.out");
int n,nr,l[830],s,d;
int caut(int st,int dr,int limdr);
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
cin>>l[i];
sort(l+1,l+n+1);
for(int i=1;i<=n-2;i++)
for(int j=i+1;j<n;j++)
{
s=l[i]+l[j];d=l[j]-l[i];
if(d>s);///imposibil phew
nr+=(caut(j+1,n,s));
}
cout<<nr<<'\n';
return 0;
}
int caut(int st,int dr,int limdr)
{
int mij=0,poz1=st-1,poz2=0,S=st-1,D=dr;
while(st<=dr)
{
mij=(st+dr)/2;
if(l[mij]<=limdr)
{
poz1=mij;
st=mij+1;
}
else dr=mij-1;
}
return poz1-S;
}