Cod sursa(job #293147)

Utilizator ktalyn93Catalin ktalyn93 Data 31 martie 2009 23:27:02
Problema Numarare triunghiuri Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <stdio.h>
#include <algorithm>
using namespace std;
int i,j,l,n,nr,a[801],m;
void cautbin(int s,int d)
{
    int m;
    while(s<=d)

	  {
	     m=(s+d)/2;
	      if(a[i]+a[j]>=a[m])
          {
           nr++;
           cautbin(s,m-1);
           s=m+1;
           }
           else
           if(a[i]+a[j]<a[m])
                   d=m-1;
          
            else
           
            s=m+1;            
          }
    
}
int main()
{
    freopen("nrtri.in","r",stdin);
    freopen("nrtri.out","w",stdout);
    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++)
      cautbin(j+1,n);
      printf("%d",nr);
    return 0;
}