Проблема в самом алгоритме. Не нужно суммировать элементы массива на каждой вложенной итерации, достаточно одного прохода по массиву. Код придется полностью переписать.
решение
function partsSums(ls) {
const result = new Array(ls.length + 1);
result[ls.length] = 0;
for (let i = ls.length - 1; i > -1; i--) {
result[i] = result[i + 1] + ls[i];
}
return result;
}