Cod sursa(job #1486399)

Utilizator DavidCelJmekerPopescu David Ioan DavidCelJmeker Data 14 septembrie 2015 19:59:17
Problema Numarare triunghiuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 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, dr, 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,n;
    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;
}