

const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./예제.txt";
let input = fs.readFileSync(filePath).toString().trim();
// const fs = require('fs');
// let input = fs.readFileSync('/dev/stdin').toString().trim();
input=input.split('\n');
const [N, K] = input.shift().split(' ').map((el)=>+el)
input = input.map((str) => str.split(' ').map((el)=>+el));
input.unshift(undefined);
const dp = [];
for (let i = 0; i <= N; i++) {
dp.push(Array(K + 1).fill(0));
}
for (let t=1;t<=N;t++){
const [W,V]=input[t];
for (let k=0;k<=K;k++){
if (k<W){
dp[t][k]=dp[t-1][k];
}else{
dp[t][k]=Math.max(
dp[t-1][k]
,dp[t-1][k-W]+V
);
}
}
}
console.log(dp[N][K])
https://gywlsp.github.io/boj/12865/