Cod sursa(job #3265252)

Utilizator SwanOCPica Razvan Mihai SwanOC Data 28 decembrie 2024 13:53:09
Problema Numarare triunghiuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("nrtri.in");
ofstream fout("nrtri.out");

int main() {
    int n, count = 0, v[801];

    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++) {
            int st = j + 1, dr = n - 1;
            int suma = v[i] + v[j];


            while (st <= dr) {
                int mid = st + (dr - st) / 2;

                if (v[mid] > suma) {
                    dr = mid - 1;
                } else
                    st = mid + 1;
            }

            count += (st - (j + 1));
        }

    fout << count;

    return 0;
}