File tree 1 file changed +38
-0
lines changed
1 file changed +38
-0
lines changed Original file line number Diff line number Diff line change
1
+ import java .io .BufferedReader ;
2
+ import java .io .IOException ;
3
+ import java .io .InputStreamReader ;
4
+ import java .util .StringTokenizer ;
5
+
6
+ /**
7
+ * 백준 12865번 평범한 배낭
8
+ * - dp
9
+ */
10
+
11
+ public class Main {
12
+ public static void main (String [] args ) throws IOException {
13
+ BufferedReader br = new BufferedReader (new InputStreamReader (System .in ));
14
+ StringTokenizer st = new StringTokenizer (br .readLine ());
15
+
16
+ int N = Integer .parseInt (st .nextToken ());
17
+ int K = Integer .parseInt (st .nextToken ());
18
+
19
+ int object [][] = new int [N + 1 ][2 ];
20
+ int dp [][] = new int [N + 1 ][K + 1 ];
21
+
22
+ for (int i = 1 ; i <= N ; i ++) {
23
+ st = new StringTokenizer (br .readLine ());
24
+
25
+ object [i ][0 ] = Integer .parseInt (st .nextToken ());
26
+ object [i ][1 ] = Integer .parseInt (st .nextToken ());
27
+ }
28
+
29
+ for (int i = 1 ; i <= N ; i ++) {
30
+ for (int j = 1 ; j <= K ; j ++) {
31
+ if (j >= object [i ][0 ]) dp [i ][j ] = Math .max (dp [i - 1 ][j ], dp [i - 1 ][j - object [i ][0 ]] + object [i ][1 ]);
32
+ else dp [i ][j ] = dp [i - 1 ][j ];
33
+ }
34
+ }
35
+
36
+ System .out .println (dp [N ][K ]);
37
+ }
38
+ }
You can’t perform that action at this time.
0 commit comments