Cod sursa(job #234948)

Utilizator MiryBlueRadutoiu Miruna MiryBlue Data 22 decembrie 2008 12:15:08
Problema Numarare triunghiuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <iostream.h>
#include <fstream.h>
fstream f("nrtri.in", ios::in);
fstream g("nrtri.out", ios::out);
int l[801];
int bs(int i, int j, int x)
{
 int  mij, last=0;
 while(i<=j){
	      mij=i+(j-i)/2;
	      if (l[mij]>x)j=mij-1;
		else {i=mij+1;
		      last=mij;
		      }
	      }
 return last;
}
int main()
{
 int i=0, j=0, n, k=0, c, a, b, nr;
 f>>n;
 for (i=1;i<=n;i++) f>>l[i];
 for(i=1;i<=n-2;i++)
    for(j=i+1;j<=n-1;j++)
     {c=l[i]+l[j];
      a=j+1;
      b=bs(j,n,c);
      if (b>0) nr=b-a+1;
      k=k+nr;
     }
 g<<k;
 f.close();
 g.close();
 return 0;
}