Cod sursa(job #2628921)

Utilizator A.D.ADelureanu Ana-Maria A.D.A Data 18 iunie 2020 11:44:26
Problema Numarare triunghiuri Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("nrtri.in");
ofstream fout("nrtri.out");
int n, v[801], nr, left, right, m;

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-1; i++)
    for(int j=i+1; j<n; j++)
        {
            left=j;
            right=n;
            while(left<right)
            {
                if(right==left+1) m=right;
                else    m=(left+right)/2;

                if(v[m]>v[i]+v[j])
                    right=m-1;
                else left=m;
            }
            nr+=left-j;
        }

    fout<<nr;
    return 0;
}