Cod sursa(job #1424926)

Utilizator klbraduRadu Capalb klbradu Data 25 aprilie 2015 21:46:00
Problema Numarare triunghiuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>
#include <algorithm>
using namespace std;

int n, i, v[805], j, st, dr, mid, nrtri;

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

int main(){
    fin>>n;
    for(i=1;i<=n;i++){
        fin>>v[i];
    }
    sort(v+1, v+n+1);
    for(i=1;i<n-1;i++){
        for(j=i+1;j<n;j++){
            st = j+1;
            dr = n;
            while(st <= dr){
                mid = (st+dr)/2;
                if(v[mid] <= v[i]+v[j]){
                    st = mid+1;
                }else{
                    dr = mid-1;
                }
            }
            nrtri += dr-j;
        }
    }
    fout<<nrtri;
}