Cod sursa(job #490231)

Utilizator taseTanase Alexandru tase Data 5 octombrie 2010 16:48:36
Problema Numarare triunghiuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.48 kb
#include<stdio.h>
#include<algorithm>
using namespace std;
int n,a[30004];
int cautbin(int x)
{
	int k,pas=1<<15;
	for(k=0;pas!=0;pas>>=1)
		if(k+pas<=n && a[k+pas]<=x)
			k+=pas;
	return k;
}
int main()
{
	freopen("nrtri.in","r",stdin);
	freopen("nrtri.out","w",stdout);
	int s=0,i,j;
	scanf("%d",&n);
	for(i=1;i<=n;++i)
		scanf("%d",&a[i]);
	sort(a+1,a+n+1);
	for(i=1;i<n;++i)
		for(j=i+1;j<=n;++j)
			s=s+cautbin(a[i]+a[j])-j;
	printf("%d",s);
	return 0;
}