Cod sursa(job #235819)
| Utilizator | Data | 25 decembrie 2008 22:34:03 | |
|---|---|---|---|
| Problema | Numarare triunghiuri | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.51 kb |
#include <stdio.h>
#include <stdlib.h>
int e[804];
int compar(const void * a,const void * b)
{
return ( *(int*)a - *(int*)b );
}
int main()
{
int a,n,i,j,d=0;
FILE *f1,*f2;
f1=fopen("nrtri.in","r");
f2=fopen("nrtri.out","w");
fscanf(f1,"%d",&n);
for(i=1;i<=n;i++)
{
fscanf(f1,"%d",&e[i]);
}
qsort(e,n+1,sizeof(int),compar);
for(i=1;i<=n;i++)
{
for(j=n;j>=i+2;j--)
if(e[j]<=e[i]+e[i+1])
{
d=d+(j-1-i);
break;
}
}
fprintf(f2,"%d",d);
return 0;
}
