Pagini recente » Cod sursa (job #709109) | Cod sursa (job #1222795) | Cod sursa (job #2583055) | Cod sursa (job #2398852) | Cod sursa (job #327347)
Cod sursa(job #327347)
#include<stdio.h>
using namespace std;
#define dim 806
int v[dim];
int quicksort(int inceput, int ultimul)
{int i,j,temp,aux;
i=inceput;
j=ultimul;
temp=v[(i+j)/2];
do
{while(v[i]<temp) i=i+1;
while(v[j]>temp) j=j-1;
if(i<j)
{aux=v[i]; v[i]=v[j]; v[j]=aux; }
if(i<=j)
{j=j-1;
i=i+1;
}
}while(i<=j);
if(inceput<j) quicksort(inceput,j);
if(i<ultimul) quicksort(i,ultimul);
}
int main()
{
FILE *f=fopen("nrtri.in","r"), *g=fopen("nrtri.out","w");
int i,j,k,n,tri=0;
fscanf(f,"%d",&n);
for(i=1;i<=n;i++)
fscanf(f,"%d",&v[i]);
quicksort(1,n);
for(i=1;i<=n-2;i++)
for(j=i+1;j<=n-1;j++)
for(k=j+1;k<=n;k++)
{if( v[k] > v[j] +v[i] )
break;
tri++;
}
fprintf(g,"%d\n",tri);
fclose(f);
fclose(g);
return 0;}