Pagini recente » Cod sursa (job #939143) | Cod sursa (job #2732825) | Cod sursa (job #1056496) | Cod sursa (job #2296349) | Cod sursa (job #457197)
Cod sursa(job #457197)
#include<stdio.h>
#include<algorithm>
int b[100];
using namespace std;
int main()
{
freopen("nrtri.in","r",stdin);
freopen("nrtri.out","w",stdout);
int c=0,a,d,i,j,n,m,u,p,x,y;
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&b[i]);
sort(b+1,b+n+1);
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
u=n;
p=1;
x=b[i]+b[j];
y=b[j]-b[i];
while(u>=p)
{
m=(u+p)/2;
if(b[m]>=x)
p=m+1;
else
u=m-1;
}
if(p<u)
a=m;
else
a=0;
u=n;
p=1;
while(u>=p)
{
m=(u+p)/2;
if(b[m]<=x)
p=m+1;
else
u=m-1;
}
if(p<u)
d=p;
else
d=n+1;
if(d>=a&&a!=0&&d!=n+1)
c=c+d-a+1;
}
printf("%d",c/3);
return 0;
}