U58838.考古队的神秘宝箱

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

考古队在沙漠中发现了一个容量为 W 的古老宝箱,同时挖掘出 N 件文物。每件文物有以下属性:

weight[i]:第 i 件文物的重量
value[i]:第 i 件文物的历史价值
count[i]:第 i 件文物的现存数量(部分文物可能有多件)
‌规则‌:

宝箱不能超载(总重量 ≤ W)
同一类文物最多携带 count[i] 件(部分文物不可拆分)
‌要求‌:
设计C++程序,计算可以装入宝箱的文物组合的最大总价值。

输入格式

W N
weight[0] value[0] count[0]
weight[1] value[1] count[1]
...
weight[N-1] value[N-1] count[N-1]

输出格式

最大总价值

说明/提示

最优解‌:

文物1 × 2件(总重4,价值10)
文物2 × 1件(总重3,价值8)
文物3 × 0件
总价值 = 10 + 8 + 0 = 18(但更优解是文物3 × 1件 + 文物2 × 1件 + 文物1 × 1件 = 12 + 8 + 5 = 25?需要验证题目示例数据)

首页