Cod sursa(job #2046381)

Utilizator FlorinHajaFlorin Gabriel Haja FlorinHaja Data 23 octombrie 2017 19:08:52
Problema Numarare triunghiuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <fstream>
#include <iostream>
#include <algorithm>

using namespace std;

ifstream f("nrtri.in");
ofstream g("nrtri.out");

int n, i, j, a[805], sol;

int main() {
    f >> n;
    for (i = 1; i <= n; i++)
        f >> a[i];
    sort(a+1,a+n+1);
    for (i = 2; i < n; i++)
        for (j = i+1; j <= n; j++) {
            int st = 1, dr = j, mij;
            while (st <= dr) {
                mij = (st+dr)/2;
                if (a[j]-a[i] > a[mij])
                    st = mij+1;
                else dr = mij-1;
            }
            sol += j-st-1;
        }
    g << sol;
    return 0;
}