Cod sursa(job #1486933)

Utilizator DavidCelJmekerPopescu David Ioan DavidCelJmeker Data 15 septembrie 2015 18:57:15
Problema Numarare triunghiuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <iostream>
#include <algorithm>
#include <fstream>

using namespace std;
 ifstream in("nrtri.in") ;
 ofstream out("nrtri.out") ;
    int r, a[800], n ;
  void  cb(int x, int y)
{


int st=0 , dr=n , mj, s ;

        dr=n;
        st=max(x,y) ;
        s=x+y;
        while(st<=dr)
        {
        mj=(st+dr)/2 ;
        if(a[mj]>s)
            dr=mj-1;
        else    st=mj+1;
        }
        mj=(st+dr)/2;
        if(a[mj]>s) mj--;
        r=r+mj-max(x,y) ;
}


int main()
{
    int i,j;
    in>>n;
    for(i=1;i<=n;i++)
        {
            in>>a[i] ;
        }
    sort(a+1,a+n+1) ;
    for(i=1;i<=n-2;i++)
    {


    for(j=1;j<=n-1;j++)
      {

        cb(i,j) ;
      }
    }
    out<<r;
    return 0;
}