#D1051. 01背包输出方案

01背包输出方案

题目描述

一个旅行者有一个最多能装 MM 公斤的背包,现在有 nn 件物品(编号为 1n1\sim n),它们的重量分别是W1W2...,WnW_1,W_2,...,W_n,它们的价值分别为C1,C2,...,CnC_1,C_2,...,C_n,求旅行者能获得最大总价值及选择的方案。

输入

第一行:两个整数,MM(背包容量,M200M≤200)和NN(物品数量,N30N≤30);

2..N+12..N+1行:每行二个整数WiCiW_i,C_i,表示每个物品的重量和价值。

输出

第一行,一个数,表示最大总价值。

第二行,一个数 xx,表示选择的物品数量。

第三行,空格隔开的 xx 个数,表示选择的物品编号。

如果有多种方案可以达到最大总价值,输出其中任意一种即可。

样例

10 4
2 1
3 3
4 5
7 9

12
2
2 4