Pagini recente » Cod sursa (job #1074052) | Cod sursa (job #2162464) | Cod sursa (job #1214463) | Cod sursa (job #1599532) | Cod sursa (job #1978979)
#include <cstdio>
#include <algorithm>
using namespace std;
int n, i, j, st, dr, a[810], nr, m, k;
int main ()
{
freopen("nrtri.in", "r", stdin);
freopen("nrtri.out", "w", stdout);
scanf("%d", &n);
for (i=1; i<=n; i++) scanf("%d", &a[i]);
sort(a+1, a+n+1);
for (i=1; i<n-1; i++){
for (j=i+1; j<n; j++){
st=j+1; dr=n;
k=st+(dr-st)/2;
while (st<=dr){
m=st+(dr-st)/2;
if (a[m] <= a[i]+a[j]){
st = m+1;
k=m;
}
if (a[m] > a[i]+a[j]) dr = m-1;
}
if (st>dr && a[k]<=a[i]+a[j]) nr=nr+k-j;
// printf("%d\n", nr);
}
}
printf("%d", nr);
return 0;
}