Pagini recente » Cod sursa (job #2151624) | Cod sursa (job #90312) | Cod sursa (job #2374334) | Cod sursa (job #577995) | Cod sursa (job #96394)
Cod sursa(job #96394)
#include<stdio.h>
#include<stdlib.h>
int v[801];
int cauta(int n,int k){
int p,u,m;
p=1;u=n-1;
while (v[p]<v[u]){
m=(p+u)/2;
if(k<=v[u])
u=m;
else
p=m+1;
}
//if(v[u]>n)
//return p-1;
return u;//p
}
inline int compara (const void * a, const void * b){
return ( *(int*)a - *(int*)b );
}
int main(){
int n,v[801],i,j,s=0;
freopen("nrtri.in","r",stdin);
freopen("nrtri.out","w",stdout);
scanf("%d",&n);
for (i=0;i<n;++i)
scanf("%d",&v[i]);
qsort (v, n, sizeof(int), compara);
for (i=0;i<n-2;++i)
for (j=i+1;j<n-1;++j){
s+=n-cauta(n,v[i]+v[j]);
}
printf("%d",s);
return 0;
}