function solution(c, arr){
let answer=Number.MIN_SAFE_INTEGER;
let ch = Array.from({length:arr.length+1}, ()=>0);
function dfs(v) {
if(v === arr.length) {
let arr1 = []
for(let i = 0; i < arr.length; i++) {
if(ch[i]) arr1.push(arr[i]);
}
if(arr1.length > 0) {
let arr1_sum = arr1.reduce((a,b)=>a+b);
if(arr1_sum <= c) answer = Math.max(answer, arr1_sum);
else return;
}
} else {
ch[v] = 1;
dfs(v+1);
ch[v] = 0;
dfs(v+1);
}
}
dfs(0);
return answer;
}
let arr=[81, 58, 42, 33, 61];
console.log(solution(259, arr));