Pagini recente » Cod sursa (job #427082) | Cod sursa (job #2782166) | Cod sursa (job #1478689) | Cod sursa (job #2468425) | Cod sursa (job #2347010)
#include <stdio.h>
#include <stdlib.h>
int v[800];
int main(){
int i,j,n,c,aux,pas,r;
FILE *fin,*fout;
fin=fopen("nrtri.in","r");
fout=fopen("nrtri.out","w");
fscanf(fin,"%d",&n);
for(i=0;i<n;i++){
fscanf(fin,"%d",&v[i]);
}
for(i=0;i<n;i++){
for(j=0;j<n-i-1;j++){
if(v[j]>v[j+1]){
aux=v[j];
v[j]=v[j+1];
v[j+1]=aux;
}
}
}
c=0;
for(i=0;i<n;i++){
for(j=i+1;j<n;j++){
pas=1<<16;
r=0;
while(pas!=0){
if(r+pas<n && v[r+pas]<=v[j]+v[i]){
r+=pas;
}
pas/=2;
}
c+=r-j;
}
}
fprintf(fout,"%d",c);
fclose(fin);
fclose(fout);
return 0;
}