Cod sursa(job #1974535)

Utilizator danielacapusanDaniela Capusan danielacapusan Data 27 aprilie 2017 22:44:59
Problema Numarare triunghiuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("nrtri.in");
ofstream g("nrtri.out");
int n,x[800];
 int cautbin(int left,int right, int s){
    int hi,lo;
    lo=left;
    hi=right;
    while(hi-lo>1){
        int mid=(lo+hi)/2;
        if(x[mid]<=s)
            lo=mid;
        else hi=mid;
    }
    return lo;
 }
int tr()
{
    int poz1,poz2,poz3,nr=0;
    for( poz1=0;poz1<n;poz1++){
        for(poz2=poz1+1;poz2<n;poz2++){
            poz3=cautbin(poz2,n,x[poz1]+x[poz2]);
            nr+=poz3-poz2;
        }
    }
    return nr;
}
int main()
{
    f>>n;
    for(int i=0;i<n;i++){
        f>>x[i];
    }
    g<<tr();


    return 0;
}