Cod sursa(job #245408)

Utilizator catalin93Catalin Ionescu catalin93 Data 17 ianuarie 2009 22:53:51
Problema Numarare triunghiuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include<stdio.h>
#include<stdlib.h>
int a[1000],n;
/*
void sortare()
{
	int i,sort,aux;
	sort = 0;
	while(sort==0)
	{
		sort = 1;
		for(i=1;i<=n-1;i++)
		
			if(a[i] > a[i+1])
			{
				aux = a[i];
				a[i] = a[i+1];
				a[i+1] = aux;
				sort = 0;
			}
	}
	
}
*/
int compare (const void * a, const void * b)
{
  return ( *(int*)a - *(int*)b );
}

int main()
{
	int i,s,j,k;
	
	freopen("nrtri.in","r",stdin);
	freopen("nrtri.out","w",stdout);
	
	scanf("%d",&n);
	
	for(i=1;i<=n;i++)
		scanf("%d",&a[i]);
		
	//sortare();
	qsort (a, n+1, sizeof(a[1]), compare);
	s = 0;
	for(i=1;i<n;i++)
		for(j=i+1;j<=n;j++)
		{
			for(k=n;a[k]>a[i]+a[j];k--)
				;
			s+=k-j;
			/*
			if(a[i] + a[j] >= a[k])
			{
				s += n - k  ;
				break;
			}
			*/
		}
	
	printf("%d",s);
	return 0;
}