Pagini recente » Cod sursa (job #3269449) | Cod sursa (job #110451) | Cod sursa (job #682987) | Cod sursa (job #2210688) | Cod sursa (job #562199)
Cod sursa(job #562199)
#include<stdio.h>
#include<stdlib.h>
int n,v[802];
int caut(int p, int q)
{
int i,pas=1<<9;
for(i=0 ; pas ; pas/=2)
if(i+pas<=n && v[i+pas]<=p+q && v[i+pas]+p>=q && v[i+pas]+q>=p)
i += pas;
return i;
}
int cmp(const void *p, const void *q)
{
int x=*(int*)p, y=*(int*)p;
if (x>y) return 1;
if (x<y) return -1;
return 0;
}
int main()
{
int i,j,nrtri=0;
freopen("nrtri.in","r",stdin);
freopen("nrtri.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;++i)
scanf("%d",&v[i]);
qsort(v+1,n,sizeof(v[1]),cmp);
for(i=1;i<=n;++i)
for(j=i+1;j<=n;++j)
{
if (caut(v[i],v[j])!=0)
++nrtri;
}
printf("%d",nrtri);
}