1364 - 部分背包问题2

有一个贼在偷窃一家商店时发现有N件物品:第i件物品值Vi元,重Wi磅,(1≤i≤n),此处Vi和Wi都是整数。他希望带走的东西越值钱越好,但他的背包中最多只能装下W磅的东西(W为整数),小偷可带走某个物品的一部分(只带走其中的几磅也为整数,小偷应该带走哪几件东西,每件东西的重量是多少?

输入

第一行为N 和 W (N<=10000 W<=30000),
后面 N 行为每个物品,每行两个数,即为Vi与Wi,
数字之间用一个空格分隔。

输出

第一行为总的最大价值(取整),
后面多行,每行为物品 i 的序号和物品 i 应偷多少重量。数字间用一个空格分隔。
(如果物品 i 没偷,则不输出,输出对应的 i 为升序)。

样例

输入

5 100
40 20
60 10
30 40
70 60
60 80

输出

177
1 20
2 10
3 10
4 60

来源

奇遇编程

题目参数

时间限制 1 秒
内存限制 32 MB
提交次数 3
通过人数 1
统计

上一题 下一题