Cod sursa(job #411871)
| Utilizator | Data | 5 martie 2010 10:44:37 | |
|---|---|---|---|
| Problema | Numarare triunghiuri | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.5 kb |
#include<stdio.h>
#include<stdlib.h>
int n,a[802],i,j,k,nr;
int cmp(const void *a,const void *b)
{
return (*(int*)a-*(int*)b);
}
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]);
qsort(a+1,n,sizeof(int),cmp);
for(i=1;i<=n-2;i++)
for(j=i+1;j<=n-1;j++)
for(k=j+1;k<=n;k++)
{
if(a[i]+a[j]>=a[k])
nr++;
else
break;
}
printf("%d",nr);
return 0;
}
