Cod sursa(job #3032607)

Utilizator RazvanGabrielLazar2004Lazar Razvan Gabriel RazvanGabrielLazar2004 Data 22 martie 2023 15:16:44
Problema Numarare triunghiuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<iostream>
#include<bits/stdc++.h>
using namespace std;
long long int v[801]={};
int main(){
    ifstream in("nrtri.in");
    ofstream out("nrtri.out");
    long long int n,c=0,t=1;
    in>>n;
    while(t*2<=n){
        t*=2;
    }
    for(long long int i=1;i<=n;i++){
        in>>v[i];
    }
    sort(v+1,v+n+1);
    for(long long int i=1;i<=(n-2);i++){
        for(long long int j=i+1;j<=(n-1);j++){
            long long int r=0;
            for(long long int g=t;g>0;g/=2){
                if((r+g)<=n && v[r+g]<=(v[i]+v[j])){
                    r+=g;
                }
            }
            if(r>j){
                c+=(r-j);
            }
        }
    }
    out<<c;
}