Cod sursa(job #2686892)

Utilizator Teo.D5Dragomir Teodor Teo.D5 Data 19 decembrie 2020 13:54:23
Problema Numarare triunghiuri Scor 45
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.04 kb
#include <fstream>
#include <algorithm>

using namespace std;

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

int v[802];

int main()
{
int a, b, n, st, dr, med, rasp1, rasp2, sol=0;
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++)
    {
    a=v[i];
    for(int j=i+1; j<=n; j++)
        {
        b=v[j];
        rasp1=0;
        rasp2=0;
        st=1;
        dr=n;
        while(st<=dr)
            {
            med=(st+dr)/2;
            if(v[med]>b)
                {
                rasp1=med;
                dr=med-1;
                }
            else
                st=med+1;
            }
        st=1;
        dr=n;
        while(st<=dr)
            {
            med=(st+dr)/2;
            if(v[med]<=(b+a))
                {
                rasp2=med;
                st=med+1;
                }
            else
                dr=med-1;
            }
        if(rasp1!=0) sol+=rasp2-rasp1+1;
        }
   }
fout<<sol<<'\n';
return 0;
}