Cod sursa(job #203941)

Utilizator AthanaricCirith Gorgor Athanaric Data 20 august 2008 22:29:57
Problema Numarare triunghiuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <stdio.h>
int main()
{
	int n,v[850],i,j,aux,count=0,s,d,m;
	freopen("nrtri.in","r",stdin);
	freopen("nrtri.out","w",stdout);
	scanf("%d",&n);
	for (i=1; i<=n; i++)
		scanf("%d",&v[i]);
	for (i=1; i<n; i++)
		for (j=i+1; j<=n; j++)
			if (v[i]>v[j])
			{
				aux=v[i];
				v[i]=v[j];
				v[j]=aux;
			}
	for (i=1; i<n; i++)
		for (j=i+1; j<=n; j++)
		{
			s=1; d=n; 
			while (s!=d)
			{
				m=(s+d)/2;
				if ((v[m]+v[i]>=v[j])&&(v[m]+v[j]>=v[i])&&(v[i]+v[j]>=v[m]))
					s=m+1;
					else d=m-1;
			}
			count=count+(s-j+1);
		}
	printf("%d",count);
}