Pagini recente » Cod sursa (job #2764192) | Cod sursa (job #1123868) | Cod sursa (job #1603655) | Statistici Sorban Elod (SorbanElod) | Cod sursa (job #2074314)
#include <stdio.h>
#include <stdlib.h>
#define L 9
int v[801];
int main()
{
int n;
int i,j,k,pas;
int nrtri = 0;
FILE *f1 = fopen("nrtri.in","r"), *f2 = fopen("nrtri.out","w");
fscanf(f1,"%d",&n);
for(i=1;i<=n;i++)
fscanf(f1,"%d",&v[i]);
nrtri=0;
for(i=1;i<=n-2;i++)
for(j=i+1;j<=n-1;j++){
k=1;
pas=1<<L;
while(pas!=0){
if(k+pas<=n && v[i]+v[j]>=v[k+pas])
k+=pas;
pas>>=1;
}
if(k > j && v[i]+v[j] >= v[k])
nrtri+=k-j;
}
fprintf(f2,"%d",nrtri);
return 0;
}