Cod sursa(job #3141262)

Utilizator bogdibogdiAndrei Bogdan bogdibogdi Data 13 iulie 2023 13:47:09
Problema Numarare triunghiuri Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <iostream>
#include <fstream>
#include <algorithm>

using namespace std;

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

// conditia problemei l1+l2>=l3

int main()
{
    int n,v[801],s[3204400],i,j,k=1,contor=0;
    fin>>n>>v[1];
    for(i=2;i<=n;i++)
        fin>>v[i];
    sort(v+1,v+1+n);
    for(i=1;i<n;i++)
        for(j=i+1;j<=n;j++)
            s[k++]=v[i]+v[j];
    k--;
    sort(s+1,s+1+k);
    for(i=1;i<=k;i++)
    {
        int val=s[i],st=1,dr=n,mij;
        while(st<dr)
        {
            mij=(st+dr+1)/2;
            if(v[mij]<=val) st=mij;
            else dr=mij-1;
        }
        contor=contor+st-2;
    }
    fout<<contor/5;
    return 0;
}