Pagini recente » Cod sursa (job #3170044) | Cod sursa (job #3032077) | Cod sursa (job #1696132) | Cod sursa (job #544530) | Cod sursa (job #1233938)
#include <stdio.h>
#include <stdlib.h>
int v[800];
int main()
{
FILE *fin, *fout;
int n,i,j,k,nrtri,u,max,p;
fin=fopen("nrtri.in","r");
fscanf(fin,"%d/n",&n);
for(i=0;i<n;i++){
fscanf(fin,"%d ",&v[i]);
}
fclose(fin);
fout=fopen("nrtri.out","w");
if(n<3){
fprintf(fout,"%d",0);
return 0;
}
else{
for(u=n-1;u>0;u--){
max=v[0];p=0;
for(i=0;i<u;i++){
if(max<v[i]){
max=v[i];p=i;
}
if(max>v[u]){
v[p]=v[u];
v[u]=max;
}
}
}
nrtri=0;
for(i=0;i+2<n;i++){
k=i+2;
for(j=i+1;j+1<n;j++){
while(k<=j)k++;
while(k<n&&v[k]<=v[i]+v[j])k++;
if(k>j)
nrtri=nrtri+k-j-1;
}
}
fprintf(fout,"%d",nrtri);
}
fclose(fout);
return 0;
}