Skip to content

Commit 58da8ae

Browse files
authored
[20251202] BOJ / G4 / 자두나무 / 이준희
1 parent be97390 commit 58da8ae

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
```java
2+
import java.io.*;
3+
import java.util.*;
4+
5+
public class Main {
6+
public static void main(String[] args) throws Exception {
7+
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
8+
StringTokenizer st = new StringTokenizer(br.readLine());
9+
10+
int T = Integer.parseInt(st.nextToken());
11+
int W = Integer.parseInt(st.nextToken());
12+
13+
int[] tree = new int[T + 1];
14+
for (int i = 1; i <= T; i++) {
15+
tree[i] = Integer.parseInt(br.readLine());
16+
}
17+
18+
int[][][] dp = new int[T + 1][W + 1][3];
19+
20+
for (int t = 1; t <= T; t++) {
21+
for (int w = 0; w <= W; w++) {
22+
23+
if (w == 0) {
24+
dp[t][0][1] = dp[t - 1][0][1] + (tree[t] == 1 ? 1 : 0);
25+
} else {
26+
dp[t][w][1] = Math.max(dp[t - 1][w][1], dp[t - 1][w - 1][2]) + (tree[t] == 1 ? 1 : 0);
27+
dp[t][w][2] = Math.max(dp[t - 1][w][2], dp[t - 1][w - 1][1]) + (tree[t] == 2 ? 1 : 0);
28+
}
29+
}
30+
}
31+
32+
int answer = 0;
33+
for (int w = 0; w <= W; w++) {
34+
answer = Math.max(answer, dp[T][w][1]);
35+
answer = Math.max(answer, dp[T][w][2]);
36+
}
37+
38+
System.out.println(answer);
39+
}
40+
}
41+
```

0 commit comments

Comments
 (0)