Cod sursa(job #32949)

Utilizator kyrkDragos Dumitrescu kyrk Data 18 martie 2007 19:04:16
Problema Numarare triunghiuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include<stdio.h>
main()
{
long a[1000],max,i,j,k,l,m,n,sp,aux,valid,x,s;
freopen("nrtri.in","r",stdin);
freopen("nrtri.out","w",stdout);
fscanf(stdin,"%ld",&n);
for(i=1;i<=n;i++)
 fscanf(stdin,"%ld",&a[i]);
i=1;
do{
   if(a[i]>a[i+1]){aux=a[i];a[i]=a[i+1];a[i+1]=aux;i-=2;}
   i++;
   if(i<1)i=1;
   }while(i<n);
x=0;
i=1;j=2;k=n;
do{
   do{
      s=a[i]+a[j];
      valid=0;
      do{
	 if(a[k]<=s){x+=(k-j);valid=1;}
	 k--;
	 }while((valid==0)&&(k>j));
      j++;k=n;
      }while(j<=(n-1));
    i++;j=i+1;
   }while(i<=(n-2));

fprintf(stdout,"%ld",x);



fclose(stdin);
fclose(stdout);
return 0;
}