Cod sursa(job #57824)
Utilizator | Robert Sandu Mirage | Data | 3 mai 2007 08:51:51 |
---|---|---|---|
Problema | Numarare triunghiuri | Scor | 70 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.52 kb |
#include<stdio.h>
#include<stdlib.h>
int comp(const void *a, const void *b){
int *aa=(int *)a, *bb=(int *)b;
int x=*aa, y=*bb;
return x-y;
}
int main () {
int n,v[800],i,nr=0,j,k;
FILE *in=fopen("nrtri.in","r"), *out=fopen("nrtri.out","w");
fscanf(in,"%d",&n);
for(i=0;i<n;i++)
fscanf(in,"%d",&v[i]);
qsort(v,n,sizeof(v[0]),comp);
for(i=0;i<n-2;i++)
for(j=i+1;j<n-1;j++)
for(k=j+1;k<n;k++)
if((v[i]+v[j])>=v[k])
nr++;
fprintf(out,"%d\n",nr);
fclose(in);
fclose(out);
return 0;
}