Cod sursa(job #3270161)

Utilizator mihiboiBacis Mihai-Cristian mihiboi Data 22 ianuarie 2025 10:25:26
Problema Numarare triunghiuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("nrtri.in");
ofstream fout("nrtri.out");

int cautare_binara(int x, int s, int d, int v[100001]) {
    int l = s, r = d, m;
    int poz = -1;
    while (l <= r) {
        m = (l + r) / 2;
        if (v[m] <= x) {
            l = m + 1;
        }
        else
            r = m - 1;
    }
    return r;
}

int v[1001], n, cnt = 0;

int main () {   
    fin >> n;
    for (int i = 0 ; i < n ; i++) {
        fin >> v[i];
    }
    sort(v, v+n);
    
    for (int i = 0; i < n - 2; i++)
        for (int j = i + 1; j < n - 1; j++)
            cnt += cautare_binara(v[i]+v[j], j + 1, n - 1, v) - j;
    
    fout << cnt;
    return 0;
}