Cod sursa(job #1748911)

Utilizator petrooPetru G petroo Data 27 august 2016 13:22:55
Problema Numarare triunghiuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <algorithm>
#include <stdio.h>
using namespace std;
int l[801];

int caut_bin(int l1, int l2, int n,int p)
{

    int mid, a = p, b = n;
    while (b - a > 1)
    {
        mid = (b + a) /2;
        if (l1 + l2 <= l[mid])
            a = mid;
        else
            b = mid;
    }
    if (l[b] <= l1 + l2 && l[b] >= 0)
        return b - p;
    else
        return 0;

}

int main(void)
{
    int n, s = 0;
    freopen("nrtri.in", "r", stdin);
    freopen("nrtri.out", "w", stdout);
    scanf("%d", &n);
    for(int i = 1; i <= n; i++)
        scanf("%d", &l[i]);
    sort(l + 1, l + n + 1);
    for(int i = 1; i < n-1; i++)
        for(int j = i + 1; j < n; j++)
        {
            s += caut_bin(l[i],l[j],n,j);
        }
            printf("final = %d \n", s);
    return 0;
}