Cod sursa(job #2182170)

Utilizator mariaghinescu22Ghinescu Maria mariaghinescu22 Data 22 martie 2018 10:44:39
Problema Numarare triunghiuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <fstream>
#include <algorithm>

using namespace std;
const int L=9;
const int N = 800;

int n, v[N];

int cb(int k){
    int r=0, pas=1<<L;
    while(pas!=0){
        if (r + pas < n && v[r+pas] <= k)
            r+=pas;
        pas/=2;
    }
    return r;
}
int main(){
    int k, rez;
    ifstream in("nrtri.in");
    ofstream out("nrtri.out");

    in>>n;
    rez=0;
    sort(v, v+n);
    for(int i=0; i<n; i++){
        in>>v[i];
    }
    for(int i=0; i<n-2; i++){
        for(int j=i+1; j<n-1; j++){
            k=cb(v[i]+v[j]);
            if(k>j){
                rez+=k-j;
            }
        }
    }
    out<<rez;
    return 0;
}