Cod sursa(job #2087991)

Utilizator EdgeLordXDOvidiuPita EdgeLordXD Data 14 decembrie 2017 17:20:29
Problema Numarare triunghiuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("nrtri.in");
ofstream out("nrtri.out");
int a[801];
int main(){
    int n,i,j,pas,r,nr=0;
    in>>n;
    for(i=1; i<=n; ++i)
        in>>a[i];
    sort(a+1, a+n+1);
    for(i=2 ; i<n; ++i){
        for(j=1; j<i; ++j){
            r=0;
            pas=1<<16;
            while(pas){
                if(r+pas<=n && a[r+pas]<=a[i]+a[j])
                    r+=pas;
                pas/=2;
            }
            if(r>0)
                nr+=r-i;
        }
    }
    out<<nr;
    return 0;
}