Pagini recente » Cod sursa (job #2270937) | Cod sursa (job #1475700) | Cod sursa (job #1871452) | Cod sursa (job #1088936) | Cod sursa (job #1233902)
#include <stdio.h>
#include <stdlib.h>
int v[801];
int main()
{
FILE *fin, *fout;
fin=fopen("nrtri.in", "r");
fout=fopen("nrtri.out", "w");
int n, i, j, swap, c, k, tri;
fscanf(fin, "%d", &n);
c=0;
while(c<n){
fscanf(fin, "%d", &v[c]);
c++;
}
swap=0;
for(i=0; i<=n-2; i++){
for(j=i+1; j<=n-1; j++){
if(v[i]>v[j]){
swap=v[i];
v[i]=v[j];
v[j]=swap;
}
}
}
k=0;
tri=0;
for(i=0; i<n; i++){
k=i+2;
for(j=i+1; j<n; j++){
while(k<=j){
k++;
}
while(k<n && v[i]+v[j]>=v[k]){
k++;
}
if(k>j){
tri += k-j-1;
}
}
}
fprintf(fout, "%d", tri);
fclose(fin);
fclose(fout);
return 0;
}