Pagini recente » Cod sursa (job #1800672) | Cod sursa (job #3004923) | Cod sursa (job #3146662) | Cod sursa (job #350509) | Cod sursa (job #470236)
Cod sursa(job #470236)
#include<stdio.h>
int n,v[801],i,j;
int caut(int i,int j)
{
int k,pas=(1<<10);
for(k=0;pas!=0;pas>>=1)
if(k+pas<=n && v[k+pas]<=v[i]+v[j])
k+=pas;
return k;
}
int main()
{
int aux,k,nr=0;
freopen("nrtri.in","r",stdin);
freopen("nrtri.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&v[i]);
for(i=1 ; i<n ; ++i)
{
for(j=i+1 ; j<=n ; ++j)
{
if(v[i]>v[j])
{
aux=v[j];
v[j]=v[i];
v[i]=aux;
}
}
}
for(i=1;i<n;i++)
{
for(j=i+1;j<=n;j++)
{
k=caut(i,j);
if(k>j)
nr+=k-j;
}
}
printf("%d\n",nr);
return 0;
}