Cod sursa(job #680924)

Utilizator somfeleaniuliaSomfelean Iulia somfeleaniulia Data 16 februarie 2012 10:29:34
Problema Numarare triunghiuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 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[i]<=k)
			i++;
		x[j]=x[i];
		while(i<j&&x[j]>=k)
			j--;
		x[i]=x[j];
	}
	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<<x[i]<<" ";
	}
	fout<<endl;
	QuickSort(x,1,n);
	for(i=1;i<=n;i++)
	{
		fout<<x[i]<<" ";
	}
	fout<<endl;
	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;
}