Cod sursa(job #2854312)

Utilizator superffffalexandru radu superffff Data 21 februarie 2022 10:56:32
Problema Numarare triunghiuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("nrtri.in");
ofstream out("nrtri.out");
int a[805],b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,S,t,T,x,y,z,ok,nr,C;
int cb(int x,int st,int dr) {
    int l=0;
    int poz=-1;
    while(st<=dr){
        l=(st+dr)/2;
        if(a[l]<=x) {poz=l; st=l+1;}
        if(a[l]>x) {dr=l-1;}
    }
    return poz;
}
int main()
{
    in>>n;
    for(i=1;i<=n;i++){
        in>>a[i];
    }
    sort(a+1,a+n+1);
    for(i=1;i<=n;i++){
        for(j=i+1;j<=n;j++){
            S=a[i]+a[j];
            c=cb(S,j,n);
            if(c>j) {
                nr=nr+c-j;
            }
        }
    }
    out<<nr;
    return 0;
}