Pagini recente » Cod sursa (job #746795) | Istoria paginii runda/tema_1_10f | Monitorul de evaluare | Cod sursa (job #1979520) | Cod sursa (job #801417)
Cod sursa(job #801417)
#include<cstdio>
#include<cstdlib>
int a[1000],n;
int comp(const void *p, const void *q)
{
int d = *(int*)p, b = *(int*)q;
if(d<b) return -1;
if(d>b) return 1;
return 0;
}
int cautare (int x)
{
int i=0, j=n-1,m;
while(i<j)
{
m=(i+j+1)/2;
if(x>=a[m])
i=m;
else
j=m-1;
}
if(x>=a[i])
return i;
return 0;
}
int main()
{
int w=0,i,j,g;
freopen("nrtri.in","r",stdin);
freopen("nrtri.out","w",stdout);
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
qsort(a,n,sizeof(a[0]),comp);
for(i=0;i<n;i++)
for(j=i+1;j<n;j++)
{
g=cautare(a[i]+a[j]);
if(g>j)
w=w+(g-j);
}
printf("%d",w);
}