Наименьший подмассив с наибольшей суммой элементов

К сожелению через slice у меня не получился но пробовал так
function smallSubArray(arr) {

    let sum = 0;

    let sum1 = 0;

    let arr1 = arr.sort((a, b) => b - a)

    let arr3 = []

    for (let i = 0; i < arr.length; i++) {

        sum += arr[i];

    }

    for (let i = 0; i < arr1.length; i++) {

        sum1 = arr1[i] + arr[i + 1] + arr[i + 2];

        if (sum1 > sum - (arr[i] + arr[i + 1])) {

            arr3.push(arr1[i], arr1[i + 1])

            break

        }

    }

    return arr3;

}

console.log(smallSubArray([4, 2, 8, 1, 0, 0, 5]));

console.log(smallSubArray([2, 2, 2, 0, 0, 0]));

console.log(smallSubArray([9, 5, 1, 2, 3, 0, 0, 0]));

console.log(smallSubArray([10, 9, 9, 9, 9, 2, 1]));

и опять в последнем случае функция неверно работает должен выводиться [10,9,9]