
const { count } = require("console");
const fs = require("fs");
const { nextTick } = require("process");
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')
let N = +input.shift();
let input2=input.map((el)=>el.split(' ').map((el2)=>+el2))
const solution=(N, input2)=>{
const dp=new Array(N+1).fill(0);
let max=0;
for (let i=0;i<N;i++){
max=Math.max(max, dp[i]);
const [day, pay]=input2[i];
if (i+day<=N){
dp[i+day]=Math.max(dp[i+day], max+pay);
}
}
return Math.max(...dp);
}
console.log(solution(N, input2))
https://junghyeonsu.tistory.com/292