Submission #61940


ソースコード

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <iostream>
using namespace std;
signed main()
{
int n, W, v[100], w[100];
int dp[10001] = {}, ans;
// 0からWまでの重さならどれだけの価値を詰められるかを求める配列を作る
cin >> n >> W;
for(int i=0 ;i<n ;i++ ){
cin >> v[i] >> w[i];
}
ans = 0; //求める答えは価値の最大なので、暫定的な答えは何も詰めていない0としておく
for(int i=0 ;i<n ;i++ ){
// iは品物の番号
for(int j=W-w[i]; j>0 ;j-- ){
// jは重さ。荷物iを詰められるのは、ナップザックの重さが(n-w[i])以下の時のみ
// jを減らしていくのは、ナップザックに同じに荷物を複数詰める可能性をなくすため
if(dp[j] > 0){
// dp[j] > 0 ならば少なくとも、重さjのナップザックに何かしらの荷物を詰めれる
dp[ j+w[i] ] = max(dp[ j+w[i] ], dp[j] + v[i]);
ans = max(ans, dp[ j+w[i] ]);
// ansの更新
}
}
if(w[i] <= W ){
dp[ w[i] ] = max(dp[ w[i] ], dp[0] + v[i]);
// 荷物を詰めていなければ、重さは0なので「何も入っていないナップザックに荷物iを詰める」
ans = max(ans, dp[ w[i] ]);
}
}
cout << ans << endl;
return (0);
}

ステータス

項目 データ
問題 0238 - ナップザック問題(Easy)
ユーザー名 ei1929
投稿日時 2020-08-12 09:45:42
言語 C++
状態 Accepted
得点 3
ソースコード長 1480 Byte
最大実行時間 71 ms
最大メモリ使用量 880 KB

セット

セット 得点 Cases
1 ALL 3 / 3 *

テストケース

ファイル名 状態 実行時間 メモリ使用量 #
DPL_1_B_in1.txt AC 45 ms 604 KB
1
DPL_1_B_in2.txt AC 25 ms 696 KB
1
DPL_1_B_in3.txt AC 19 ms 792 KB
1
DPL_1_B_in4.txt AC 19 ms 684 KB
1
DPL_1_B_in5.txt AC 21 ms 748 KB
1
DPL_1_B_in6.txt AC 28 ms 816 KB
1
DPL_1_B_in7.txt AC 23 ms 880 KB
1
DPL_1_B_in8.txt AC 18 ms 684 KB
1
DPL_1_B_in9.txt AC 23 ms 748 KB
1
DPL_1_B_in10.txt AC 25 ms 672 KB
1
DPL_1_B_in11.txt AC 20 ms 612 KB
1
DPL_1_B_in12.txt AC 24 ms 680 KB
1
DPL_1_B_in13.txt AC 20 ms 620 KB
1
DPL_1_B_in14.txt AC 29 ms 556 KB
1
DPL_1_B_in15.txt AC 22 ms 500 KB
1
DPL_1_B_in16.txt AC 21 ms 568 KB
1
DPL_1_B_in17.txt AC 32 ms 632 KB
1
DPL_1_B_in18.txt AC 26 ms 692 KB
1
DPL_1_B_in19.txt AC 29 ms 628 KB
1
DPL_1_B_in20.txt AC 19 ms 632 KB
1
DPL_1_B_in21.txt AC 27 ms 572 KB
1
DPL_1_B_in22.txt AC 21 ms 636 KB
1
DPL_1_B_in23.txt AC 19 ms 576 KB
1
DPL_1_B_in24.txt AC 30 ms 644 KB
1
DPL_1_B_in25.txt AC 20 ms 712 KB
1
DPL_1_B_in26.txt AC 19 ms 780 KB
1
DPL_1_B_in27.txt AC 26 ms 716 KB
1
DPL_1_B_in28.txt AC 25 ms 652 KB
1
DPL_1_B_in29.txt AC 71 ms 724 KB
1
DPL_1_B_in30.txt AC 29 ms 732 KB
1
DPL_1_B_in31.txt AC 28 ms 800 KB
1
DPL_1_B_in32.txt AC 18 ms 740 KB
1
DPL_1_B_in33.txt AC 29 ms 680 KB
1
DPL_1_B_in34.txt AC 29 ms 748 KB
1
DPL_1_B_in35.txt AC 22 ms 684 KB
1
DPL_1_B_in36.txt AC 25 ms 744 KB
1