Pagini recente » Cod sursa (job #561878) | Cod sursa (job #2218732) | Cod sursa (job #2734265) | Cod sursa (job #2869426) | Cod sursa (job #1168299)
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
int main()
{
freopen("nrtri.in","r",stdin);
freopen("nrtri.out","w",stdout);
int n,v[801],st,dr,mij,i,j,a,b,nrtri=0,ind;
cin>>n;
for (i=1; i<=n; i++)
cin>>v[i];
sort(v+1,v+n+1);
for (i=1; i<=n; i++)
{
for (j=i+1; j<=n; j++)
{
a=v[i];
b=v[j];
st=j;
dr=n;
ind=-1;
while (st<=dr)
{
mij=(st+dr)/2;
if (v[mij] >a+b)
dr=mij-1;
else
{
ind=mij;
st=mij+1;
}
}
nrtri+=ind-j;
}
}
cout<<nrtri;
return 0;
}