Cod sursa(job #1486407)

Utilizator DavidCelJmekerPopescu David Ioan DavidCelJmeker Data 14 septembrie 2015 20:14:35
Problema Numarare triunghiuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 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 ;


        while(st>=dr)
        dr=n;
        st=max(x,y) ;
        {


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


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


    for(j=1;j<=n-1;j++)
        cb(i,j) ;
    }
    out<<r;
    return 0;
}