Cod sursa(job #320502)

Utilizator andreea_beicaBeica Andreea andreea_beica Data 4 iunie 2009 20:28:08
Problema Numarare triunghiuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include<fstream>

using namespace std;

ifstream in("nrtri.in");
ofstream out("nrtri.out");
int v[801];
void citire(int &n)
{
	int i;
	in>>n;
	for(i=1;i<=n;i++)
		in>>v[i];
}

void sortare(int n)
{
	int i,j;
	for(i=1;i<n;i++)
		for(j=i+1;j<=n;j++)
			if(v[i]>v[j])
			{
				v[i]=v[i]+v[j];
				v[j]=v[i]-v[j];
				v[i]=v[i]-v[j];
			}
}

int main()
{   
	int n,i,j,k;
	citire(n);
	sortare(n);
	/*
	for(i=1;i<=n;++i)
		out<<v[i]<<" ";
	out<<"\n";
	*/
	int s=0;
	for(i=1;i<=n-2;i++)
	{
		k=i+2;
		for(j=i+1;j<=n-1;j++)
		{
			while(k<=n && (v[i]+v[j]>=v[k]))
				k++;
			//out<<i<<","<<j<<","<<k<<"\n";
			s=s+k-j-1;
		}
	}
	out<<s;
	return 0;
}