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
+ package backjoon ;
2
+ // https://www.acmicpc.net/problem/12865
3
+
4
+ import java .io .BufferedReader ;
5
+ import java .io .IOException ;
6
+ import java .io .InputStreamReader ;
7
+ import java .util .StringTokenizer ;
8
+
9
+ public class _12865 {
10
+ public static void main (String [] args ) throws IOException {
11
+
12
+ BufferedReader br = new BufferedReader (new InputStreamReader (System .in ));
13
+ StringTokenizer st = new StringTokenizer (br .readLine (), " " );
14
+ int N = Integer .parseInt (st .nextToken ()); // ๋ฌผํ ์
15
+ int K = Integer .parseInt (st .nextToken ()); // ๋ฒํธ ์ ์๋ ๋ฌด๊ฒ
16
+
17
+ int [] W = new int [N + 1 ]; // ๋ฌด๊ฒ
18
+ int [] V = new int [N + 1 ]; // ๊ฐ์น
19
+ int [] dp = new int [K + 1 ];
20
+
21
+
22
+ for (int i = 1 ; i <= N ; i ++) {
23
+ st = new StringTokenizer (br .readLine (), " " );
24
+ W [i ] = Integer .parseInt (st .nextToken ());
25
+ V [i ] = Integer .parseInt (st .nextToken ());
26
+ }
27
+
28
+ for (int i = 1 ; i <= N ; i ++) {
29
+
30
+ // K๋ถํฐ ๋ด์ ์ ์๋ ๋ฌด๊ฒ ํ๊ณ์น๊ฐ ์ด๊ณผํ์ง์์๋ ๊น์ง ๋ฐ๋ณต
31
+ for (int j = K ; j - W [i ] >= 0 ; j --) {
32
+ dp [j ] = Math .max (dp [j ], dp [j - W [i ]] + V [i ]);
33
+ }
34
+ }
35
+ System .out .println (dp [K ]);
36
+
37
+ }
38
+ }
You canโt perform that action at this time.
0 commit comments