Cod sursa(job #594895)

Utilizator alexpascadiAlexandru Pascadi alexpascadi Data 10 iunie 2011 13:54:41
Problema Numarare triunghiuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include <fstream>
#include <algorithm>

using namespace std;

ifstream f("nrtri.in");
ofstream g("nrtri.out");
	
using namespace std;

int N,v[801];

int caut (int x)
{
	int i,pas=(1<<9);
	for(i=0;pas!=0;pas/=2)
	{
		if(i+pas<=N && v[i+pas]<=x) i+=pas;
	}
	return i;
}

int main()
{
	int i,j,k,rez=0;
	
	f>>N;
	for(i=1;i<=N;i++)
		f>>v[i];
	
	sort(&v[1],&v[N+1]);
	
	for(i=1;i<=N;i++)
		for(j=1+i;j<=N;j++)
		{
			k=caut(v[i]+v[j]);
			if(k>j)
				rez+=k-j;
		}
	
	g<<rez<<"\n";
}