File tree 1 file changed +39
-0
lines changed
1 file changed +39
-0
lines changed Original file line number Diff line number Diff line change
1
+ #include < bits/stdc++.h>
2
+
3
+ using namespace std ;
4
+
5
+ int dp[100001 ], w[101 ], v[101 ];
6
+ int N, K;
7
+
8
+ /*
9
+ int solve (int i, int j) {
10
+ if (i == 0) return 0;
11
+ if (dp[i][j] != -1) return dp[i][j];
12
+ dp[i][j] = solve (i - 1, j);
13
+ if (j - w[i] >= 0)
14
+ dp[i][j] = max (dp[i][j], solve (i - 1, j - w[i]) + v[i]);
15
+ return dp[i][j];
16
+ }
17
+ */
18
+ int main (void )
19
+ {
20
+ // memset (dp, -1, sizeof(dp));
21
+ cin >> N >> K;
22
+ for (int i = 1 ; i <= N; i++)
23
+ cin >> w[i] >> v[i];
24
+ /*
25
+ for (int i = 1; i <= N; i++){
26
+ for (int j = 0; j <= K; j++) {
27
+ dp[i][j] = dp[i - 1][j];
28
+ if (j - w[i] >= 0)
29
+ dp[i][j] = max (dp[i][j], dp[i - 1][j - w[i]] + v[i]);
30
+ }
31
+ }*/
32
+ for (int i = 1 ; i <= N; i++) {
33
+ for (int j = K; j - w[i] >= 0 ; j--) {
34
+ dp[j] = max (dp[j], dp[j - w[i]] + v[i]);
35
+ }
36
+ }
37
+ cout << dp[K] << " \n " ;
38
+ return 0 ;
39
+ }
You can’t perform that action at this time.
0 commit comments