Cod sursa(job #467009)

Utilizator unknownliviuMaria Liviu Valentin unknownliviu Data 28 iunie 2010 10:54:28
Problema Numarare triunghiuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.46 kb
#include<fstream>
using namespace std;
ifstream in("nrtri.in");
ofstream out("nrtri.out");
int n,v[810];
int caut(int s);
void read()
{
	int i,j,sum=0;
	in>>n;
	for( i=1;i<=n;i++)
		in>>v[i];
	sort(v+1,v+n+1);
	for(i=1;i<=n;i++)
		for(j=i+1;j<=n;j++)
			sum+=caut(v[i]+v[j])-j;
	out<<sum;
}
int caut(int s)
{
	int i,pas=1<<10;
	for(i=0;pas!=0;pas>>=1)
		if(i+pas<=n && v[i+pas]<=s)
			i+=pas;
	return i;
}
int main()
{
	read();
	return 0;
}