Cod sursa(job #2066192)

Utilizator FrincuFrinculeasa Alexandru Frincu Data 14 noiembrie 2017 19:20:43
Problema Numarare triunghiuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <iostream>
#include <algorithm>
#include <fstream>
using namespace std;

int const L=9;

int cautbin(int v[800],int n,int x)
{
    int r=0,pas=1<<L;
    while(pas!=0)
    {
        if(r+pas<n && v[r+pas]<=x)
            r=r+pas;
        pas=pas/2;
    }
    return r;
}

int main()
{
    int n,v[800],i,j,rez=0,k;
    ifstream f("ntri.in");
    ofstream g("ntri.out");
    f>>n;
    for(i=0; i<n; i++)
        f>>v[i];
    sort(v,v+n);
    for(i=0; i<n; i++)
        for(j=i+1; j<n; j++)
        {
            k=cautbin(v,n,v[i]+v[j]);
            if(k>j)
                rez=rez+k-j;
        }
    cout<<rez;
    return 0;
}