Я думаю, что ваша проблема в вашем коде состоит в том, что
capacity - (arr[i] + arr[i + 1]) == rem_space
, переведенный в числа, выглядит на первом шаге (i == 0) следующим образом:
500 - (130 + 170) == 300
Это переведенов ложь, так как 500 - 300! = 300