#P875. 最大购物优惠

最大购物优惠

题目描述

小蓝听说超市正在打折促销,要制订一个得到最大优惠的购物计划。

小蓝的体力可以提起 w 单位重量的东西,还有一个能装 v 个单位体积的购物袋。她了解了各打折商品的重量、体积及优惠金额,想在体力和购物袋的限制内,获得最多的优惠。

超市规定:打折商品每种只能购买一件。 请你编写程序,求出小蓝能得到的最大优惠金额,以及实际购买的商品序号(序号从1开始)。

输入格式

第一行:三个正整数 w(最大承重)、v(最大体积)、n(商品种类数),所有数值均不超过 100。 接下来 n 行:每行三个整数,依次表示商品的重量、体积、优惠金额,所有数值均不超过 100。

输出格式

第一行:一个整数,表示最大优惠金额。 第二行:从小到大排列的商品序号,序号间用空格分隔;若最优方案不唯一,输出字典序最小的方案。

输入输出样例

输入 #1

10 9 4
8 3 6
5 4 5
3 7 7
4 5 4

输出 #1

9
2 4

样例解释

限制:承重10、体积9 最优方案:选择商品2 + 商品4

  • 总重量:5+4=9 ≤ 10
  • 总体积:4+5=9 ≤ 9
  • 总优惠:5+4=9(最大值) 该方案为字典序最小的最优解。

数据范围

1w,v,n1001 \le w,v,n \le 100 所有商品的重量、体积、优惠金额均为不超过 100 的正整数。