export {}; const input = require("fs").readFileSync(0).toString().trim().split("\n"); const T: number = Number(input[0]); let idx: number = 1; let res: number[] = []; for(let t=0; t i===0 ? 0 : line1[i-1]); let prev_build: number[][] = Array.from({length: N+1}, () => []); for(let k=0; k { if(dp[target] === -1) { let max_build_time: number = 0; for(let prev of prev_build[target]) { max_build_time = Math.max(max_build_time, solve(prev)); } dp[target] = build_time[target] + max_build_time; } return dp[target]; }; const W: number = Number(input[idx++]); res.push(solve(W)); } console.log(res.join("\n"));