Cod sursa(job #2194180)

Utilizator richard26Francu Richard richard26 Data 12 aprilie 2018 15:40:01
Problema Numarare triunghiuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <iostream>
#include <fstream>
#include<algorithm>
using namespace std;
ifstream fin ("nrtri.in");
ofstream fout ("nrtri.out");
 int v[801] ;
 int cbin(int st, int dr, int x)
 {  int rasp=-1,mij ;
    while(st<=dr)
    {
        mij=(st+dr)/2 ;
        if(v[mij]>x) dr=mij-1 ;
        if(v[mij]<=x)
        {
            rasp=mij ;
            st=mij+1 ;
        }
    }
    return rasp ;
 }
 int main()
 {
     int i,n,p,nr=0,j ;
     fin>>n ;
     for(i=1;i<=n;i++) fin>>v[i] ;
     sort(v+1,v+n+1) ;

     for(i=1;i<=n-3;i++)
        for(j=i+1;j<=n-2;j++)
     {
         p=cbin(j+1,n,v[i]+v[j]-1) ;
         if(p!=-1) nr=nr+p-j ;
     }
    fout<<nr ;
 }