Cod sursa(job #143794)
Utilizator | Sofineti Mihai Sofineti | Data | 26 februarie 2008 21:11:33 |
---|---|---|---|
Problema | Numarare triunghiuri | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.44 kb |
#include<stdio.h>
#include<math.h>
long fr[30000],i,j,n,k,max,x;
int main(){
freopen("nrtri.in","r",stdin);
freopen("nrtri.out","w",stdout);
scanf("%i",&n);
max=0;
for(i=1;i<=n;i++){
scanf("%i",&x);
fr[x]++;
if(max<x)max=x;
}
n=max;
n=0;
for(i=1;i<max;i++)
for(j=i+1;j<=max;j++)
if(fr[i]>0 && fr[j]>0)
for(k=j-i; k<=i+j && k<=max; k++) n=n+fr[k];
n=long(n/6);
printf("%i",n);
return 0;
}