#aTCODERDPROUNDE. AT_dp_e Knapsack 2

AT_dp_e Knapsack 2

AT_dp_e Knapsack 2

题目描述

NN 个物品被编号为 1,2,,N1, 2, \ldots, N。对于 1iN1 \leq i \leq N,物品 ii 的重量是 wiw _ i,价值是 viv _ i

太郎君决定从 NN 个物品中选择一些放入背包中带回家。背包的容量为 WW,带回的物品的总重量不能超过 WW

请计算太郎君能带回的物品的最大总价值。

输入格式

输入以以下格式从标准输入中提供:

NN WW
w1w _ 1 v1v _ 1
w2w _ 2 v2v _ 2
\ldots
wNw _ N vNv _ N

输出格式

输出太郎君能带回的物品的最大总价值。

输入输出样例 #1

输入 #1

3 8
3 30
4 50
5 60

输出 #1

90

输入输出样例 #2

输入 #2

1 1000000000
1000000000 10

输出 #2

10

输入输出样例 #3

输入 #3

6 15
6 5
5 6
6 4
6 6
3 5
7 2

输出 #3

17

说明/提示

限制条件

  • 所有输入均为整数。
  • 1N1001 \leq N \leq 100
  • 1W1091 \leq W \leq 10 ^ 9
  • 1wiW1 \leq w _ i \leq W
  • 1vi1031 \leq v _ i \leq 10 ^ 3

样例解释 1

可以选择物品 1133。这样,总重量为 3+5=83 + 5 = 8,总价值为 30+60=9030 + 60 = 90

样例解释 3

可以选择物品 2,4,52, 4, 5。这样,总重量为 5+6+3=145 + 6 + 3 = 14,总价值为 6+6+5=176 + 6 + 5 = 17


Translated by User 735713.