JSFiddle - React, Tailwind, and code Playground
JavaScript
function f(arr, a) {
const sums = arr.reduce((acc, item) => [...acc, acc[acc.length - 1] + item], [0]);
const map = sums.reduce((acc, item, index) => ({...acc, [item]: index}), {});
for (let i = 0; i < arr.length; ++i) {
if (map[a]) {
return arr.slice(i, map[a]);
}
a += arr[i];
}
};
[
[[], 6],
[[1], 6],
[[6], 6],
[[2, 4], 6],
[[3, 20, -20, 3], 6],
[[1, 3, 20, -20, 3, 1], 6],
].forEach(([arr, a]) => {
console.log(`f([${arr}], ${a}) => ${f(arr, a)}`);
});