Cod sursa(job #3317671)

Utilizator TimofeiFilipTimofei Filip Emanuel TimofeiFilip Data 24 octombrie 2025 20:30:27
Problema Numarare triunghiuri Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <cstdio>
#include <algorithm>
using namespace std;

const int NMAX = 1005;
int v[NMAX];

int main() {
    freopen("nrtri.in", "r", stdin);
    freopen("nrtri.out", "w", stdout);
    int n;
    scanf("%d", &n);

    for (int i = 1; i <= n; i++) {
        scanf("%d", &v[i]);
    }

    sort(v + 1, v + n + 1);

    long long cnt = 0;
    for (int i = 1; i <= n - 2; i++) {
        for (int j = i + 1; j <= n - 1; j++) {
            int suma = v[i] + v[j];
            int right = upper_bound(v + j + 1, v + n + 1, suma - 1) - v - 1; // scap de element curent care stim ca e >= suma
            cnt += (right - j);
        }
    }

    printf("%lld\n", cnt);
    return 0;
}