Cod sursa(job #327509)

Utilizator doru.nituNitu Doru Constantin doru.nitu Data 29 iunie 2009 11:41:37
Problema Numarare triunghiuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include<stdio.h>

int a[810],f[30001],max,i,j,n,rez;

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]);
                         f[a[i]]++;
                         if(a[i]>max)max=a[i];
                      }
    for(i=1;i<=max;i++)  { j=f[i];
                           while(j) { a[++rez]=i;
                                       --j;
                                    }   
                           f[i]+=f[i-1];
                         }
                          
    rez=0;
    for(i=1;i<=n;i++)
        for(j=i+1;j<=n-1;j++) rez+=f[a[i]+a[j]]-f[a[j]];
        
    printf("%d\n",rez);
    fclose(stdin);
    fclose(stdout);
    return 0;
}