Cod sursa(job #3141280)

Utilizator David0911David Teregovan David0911 Data 13 iulie 2023 14:13:22
Problema Numarare triunghiuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("nrtri.in");
ofstream fout("nrtri.out");
int v[100001], n, nr = 0, dr;
void cautbin(int x, int y)
{
    int st = y + 1;
    dr = n;
    while(st <= dr)
    {

        int mij = (st + dr) / 2;
        if(v[mij] > v[x] + v[y])
        {
            dr = mij - 1;

        }
        else{
            st = mij + 1;
    }}
}
int main()
{
    fin >> n;
    for(int i = 1; i <= n; i++)
        fin >> v[i];
    sort(v + 1, v + n + 1);
    for(int i = 1; i <= n; i++)
    {
        for(int j = i + 1 ;j < n ; j++){
            cautbin(i, j);
            nr += dr - j;}
    }
    fout << nr;
    return 0;
}