Skip to content

Commit d97a82f

Browse files
authored
Create F.cpp
1 parent cc31b82 commit d97a82f

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

05-240507/solutions/F.cpp

+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
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+
}

0 commit comments

Comments
 (0)