Cod sursa(job #1990623)

Utilizator PredunaTudorPreduna Tudor-Gabriel PredunaTudor Data 12 iunie 2017 19:56:55
Problema Numarare triunghiuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>
#include <algorithm>
#include <iostream>

using namespace std;

ifstream Tudor("nrtri.in");
ofstream Preduna("nrtri.out");

int n, v[801], i, j, st, dr, mid, s = 0;

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