Pagini recente » Cod sursa (job #326371) | Cod sursa (job #269122) | Borderou de evaluare (job #156710) | Cod sursa (job #327801) | Cod sursa (job #307663)
Cod sursa(job #307663)
#include<stdio.h>
short v[801000],n;
int valid(int a,int b, int c)
{ if(v[a]>v[b]+v[c])return 0;
if(v[b]>v[a]+v[c])return 0;
// if(v[c]>v[a]+v[b])return 0;
return 1;
}
int main(void){
freopen("nrtri.in","r",stdin);
freopen("nrtri.out","w",stdout);
scanf("%hd",&n);
int i,j,k,contor=0;
for(i=1; i<=n; i++)scanf("%hd",&v[i]);
int aux;
for(i=1; i<=n-1; i++)
for(j=i+1; j<=n; j++)
if(v[i]>v[j]){aux=v[i]; v[i]=v[j]; v[j]=aux;}
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[i]+v[j]) break;
if(valid(i,j,k))contor++;
}
printf("%d",contor);
return 0;
}