Pagini recente » Cod sursa (job #2635586) | Cod sursa (job #75408) | Cod sursa (job #2615111) | Cod sursa (job #230540) | Cod sursa (job #744214)
Cod sursa(job #744214)
#include <cstdio>
using namespace std;
int a[850],i,j,n,k;
long t;
void sortare(int x,int y)
{
int piv=(x+y)/2,x0=x,y0=y,aux;
while(x0<y0){
while(a[x0]<=a[piv]){x0++;}
while(a[y0]>=a[piv]){y0--;}
if(x0<y0){aux=a[x0];a[x0]=a[y0];a[y0]=aux;}
}
if(y>x){
sortare(x,piv);sortare(piv+1,y);
}
}
int main()
{
freopen("nrtri.in","r",stdin);
freopen("nrtri.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++){scanf("%d",&a[i]);}
sortare(1,n);
for(i=n;i>=3;i--){
for(j=i-1;j>=2;j--){
for(k=j-1;k>=1;k--){
if(a[k]<a[i]-a[j]){continue;}
t++;
}
}
}
printf("%ld",t);
return 0;
}