Cod sursa(job #694619)

Utilizator teban.mihaiTeban Mihai Andrei teban.mihai Data 27 februarie 2012 22:17:18
Problema Numarare triunghiuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include<fstream>
using namespace std;
	fstream fin("nrtri.in",ios::in),fout("nrtri.out",ios::out);
	int x[802];
void QuickSort(int x[],int st,int dr)
{
	int i,j,k;
	i=st;
	j=dr;
	k=x[i];
	while(i<j)
	{

		while(i<j&&x[j]>=k)
			j--;
		x[i]=x[j];
		while(i<j&&x[i]<=k)
			i++;
		x[j]=x[i];
	}
	x[i]=k;
	if(st<i-1)
		QuickSort(x,st,i-1);
	if(i+1<dr)
		QuickSort(x,i+1,dr);

}


int main()
{
	int n,i,j,k,cate=0;
	fin>>n;
	for(i=1;i<=n;i++)
	{
		fin>>x[i];
	}
	//fout<<endl;
	QuickSort(x,1,n);

	for(i=1;i<=n-2;i++)
	{
		for(j=i+1;j<=n-1;j++)
		{
			for(k=j+1;k<=n;k++)
			{
				if(x[i]+x[j]>=x[k])
					cate++;
				else
				{
					if(x[i]+x[j]<x[k])
						break;
				}
			}
		}
	}

	fout<<cate;

fin.close();
fout.close();
return 0;
}