Cod sursa(job #2046384)

Utilizator FlorinHajaFlorin Gabriel Haja FlorinHaja Data 23 octombrie 2017 19:15:20
Problema Numarare triunghiuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <fstream>
#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 = 1; i < n-1; i++)
        for (j = i+1; j < n; j++) {
            int st = j+1, dr = n, mij;
            while (st <= dr) {
                mij = (st+dr)/2;
                if (a[j]+a[i] < a[mij])
                    dr = mij-1;
                else st = mij+1;
            }
            sol += st-j-1;
        }
    g << sol;
    return 0;
}