Cod sursa(job #104769)

Utilizator dReaMerAndrei Sofian dReaMer Data 16 noiembrie 2007 17:45:28
Problema Numarare triunghiuri Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
# include <stdio.h>
int main (){
	int n,i,j,k,a[800],nr=0,aux;
	freopen("nrtri.in","r",stdin);
	freopen("nrtri.out","w",stdout);
	scanf("%d",&n);
   if (n>=3){
	    for(i=0;i<n;i++)
			scanf("%d",&a[i]);
		for(i=1;i<n;i++){
			aux=a[i];
			j=i-1;
			while (j>0 && aux<a[j]){
				a[j+1]=a[j]; 
				j--;	
			}
			if (aux>=a[j])
				a[j+1]=aux;
			else{
				a[1]=a[0]; a[0]=aux;
			}
		}
	for (k=1;k<=n-2;k++)
		for(i=0;i<n-2;i++)
			for(j=i+k+1;j<n && a[j]<=a[i]+a[i+k];j++)
				if(a[i]+a[j]>=a[i+k] && a[i+k]+a[j]>=a[i])
					nr++;
   }
   printf("%d",nr);
   return 0;
}