Cod sursa(job #267213)

Utilizator vlad_olteanVladimir Oltean vlad_oltean Data 26 februarie 2009 21:57:23
Problema Numarare triunghiuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <stdio.h>

int n,v[800],nr=0;

int poz(int l,int r)
{	int d=0,t;
	while(l<r)
	{	if(v[l]>v[r])
		{	t=v[l]; v[l]=v[r];v[r]=t;
			d=1-d;
		}
		l+=d;r-=1-d;
	}
	return l;
}

void qsort(int l,int r)
{	int k;
	if(l<r)
	{	k=poz(l,r);
		qsort(l,k-1);
		qsort(k+1,r);
	}
}

int main()
{
	freopen("nrtri.in","r",stdin);
	freopen("nrtri.out","w",stdout);
	
	scanf("%d",&n);
	for(int i=0;i<n;i++) scanf("%d",&v[i]);
	qsort(0,n);
	
	for(int i=0;i<n-2;i++)
		for(int j=i+1;j<n-1;j++)
			for(int k=i+2;k<n;k++)
				if(v[i]+v[j]>=v[k]) nr++;
	
	printf("%d",nr);
	return 0;
}