From 4f8a2a7c97e5056c0d047b410f0c48faa1f34eca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EC=8B=A0=EC=A7=80?= <101992179+ksinji@users.noreply.github.com> Date: Tue, 2 Dec 2025 23:44:25 +0900 Subject: [PATCH] =?UTF-8?q?[20251202]=20BOJ=20/=20G5=20/=20=ED=87=B4?= =?UTF-8?q?=EC=82=AC=202=20/=20=EA=B0=95=EC=8B=A0=EC=A7=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../02 BOJ \355\207\264\354\202\254 2.md" | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 "ksinji/202512/02 BOJ \355\207\264\354\202\254 2.md" diff --git "a/ksinji/202512/02 BOJ \355\207\264\354\202\254 2.md" "b/ksinji/202512/02 BOJ \355\207\264\354\202\254 2.md" new file mode 100644 index 00000000..b160780a --- /dev/null +++ "b/ksinji/202512/02 BOJ \355\207\264\354\202\254 2.md" @@ -0,0 +1,34 @@ +```java +import java.io.*; +import java.util.*; + +public class Main { + public static void main(String[] args) throws Exception { + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + int N = Integer.parseInt(br.readLine()); + + int[] T = new int[N + 2]; + int[] P = new int[N + 2]; + + for (int i = 1; i <= N; i++) { + StringTokenizer st = new StringTokenizer(br.readLine()); + T[i] = Integer.parseInt(st.nextToken()); + P[i] = Integer.parseInt(st.nextToken()); + } + + long[] dp = new long[N + 2]; + + for (int i = N; i >= 1; i--) { + int endDay = i + T[i]; + + if (endDay <= N + 1) { + dp[i] = Math.max(P[i] + dp[endDay], dp[i + 1]); + } else { + dp[i] = dp[i + 1]; + } + } + + System.out.println(dp[1]); + } +} +```