Pagini recente » Cod sursa (job #1949023) | Cod sursa (job #38063) | Cod sursa (job #1192020) | Cod sursa (job #1672341) | Cod sursa (job #298762)
Cod sursa(job #298762)
#include<stdio.h>
int n,v[1000];
int i,j,total = 0;
int cauta(int p, int u)
{
int m;
m=(p+u)/2;
while (p<=u){
if ((v[m]<=v[i]+v[j] && v[m+1]>v[i]+v[j]) || (v[m]<=v[i]+v[j] && m==n-1))
return m;
else if (v[m]<=v[i]+v[j] && v[m+1]<=v[i]+v[j]) {
p=m+1;
m=(p+u)/2;
}
else {
u=m-1;
m=(p+u)/2;
}
}
return 0;
}
int main()
{
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 = 1; j <= n; j++)
total += cauta(1,n)-j;
printf("%d\n",total);
fclose(stdin); fclose(stdout);
return 0;
}