编辑代码

//JSRUN引擎2.0,支持多达30种语言在线运行,全仿真在线交互输入输出。 
// console.log("Hello world!            -  js.jsrun.net ");
function fn(T, n, times = [], pays = []) {
    const dp = new Array(n + 1).fill().map(() => new Array(T + 1).fill(0));
    for (let i = 1; i <= n; i++) {
        for(let j = 1; j <= T; j++) {
            if (j - times[i - 1] < 0) {
                dp[i][j] = dp[i - 1][j];
            } else {
                dp[i][j] = Math.max(
                    dp[i-1][j],
                    dp[i-1][j - times[i - 1]] + pays[i - 1]
                )
            }
        }
    }
    return dp[n][T];
}

console.log(fn(40, 3, [40, 10, 20], [10, 20, 5]))