Cod sursa(job #497619)

Utilizator caliuxSegarceanu Calin caliux Data 2 noiembrie 2010 22:31:51
Problema Numarare triunghiuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include<stdio.h>
#include<algorithm>
int n,bete[805],s;
int bs(int val)
{
	int st,dr,med,last;
	st=1;
	dr=n;
	last=0;
	while(st<=dr)
	{
		med=st+(dr-st)/2;
		if(val>bete[med])
		{
			st=med+1;
		}
		if(bete[med]-2<val<=bete[med])
		{
			++last;
			dr=med-1;
		}
	}
	return last;
}
int main()
{
	freopen("nrtri.in","r",stdin);
	freopen("nrtri.out","w",stdout);
	scanf("%d",&n);
	int i,j,num;
	num=0;
	for(i=1;i<=n;++i)
	{
		scanf("%d",&bete[i]);
	}
	for(i=1;i<n;++i)
	{
		for(j=i+1;i<=n;++i)
		{
			s=bete[i]+bete[j];
			num=num+bs(s);
		}
	}
	printf("%d",num);
}