Pagini recente » Cod sursa (job #724855) | Cod sursa (job #91907) | Cod sursa (job #2070635) | Cod sursa (job #724604) | Cod sursa (job #1748911)
#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;
}