#6971. 货品整理(goods)
货品整理(goods)
货品整理(goods)
题目描述
某仓库共有 (n) 件不同的货品,每件货品都有原始体积 。
运输前,工作人员需要将所有货品按照原始体积从小到大排序,并从 1 开始重新编号。
如果两件货品的体积相同,则按照它们在输入中出现的先后顺序排列。
由于包装设备的特殊要求,重新编号为 (i) 的货品,需要额外占用 (i-1) 单位的包装空间。
因此,这件货品最终占用的空间为:
仓库有一个容量为 (V) 的运输箱。
每件货品最多只能选择一次。
请计算在总占用空间不超过 (V) 的条件下,能够获得的最大总价值。
输入格式
第一行输入两个整数 (n,V),分别表示货品数量和运输箱容量。
接下来 (n) 行,每行包含两个整数 。
输出格式
输出一个整数,表示最大总价值。
输入输出样例 #1
输入
4 10
4 8
2 3
3 6
5 9
输出
14
样例解释
排序并重新编号后:
| 新编号 | 原始体积 | 最终占用空间 | 价值 |
|---|---|---|---|
| 1 | 2 | 3 | |
| 2 | 3 | 4 | 6 |
| 3 | 4 | 6 | 8 |
| 4 | 5 | 8 | 9 |
选择编号为 2 和 3 的货品,最终占用空间为 (4+6=10),总价值为 (6+8=14)。
数据范围
| 测试点 | 层级 | n |
V |
特殊性质 | 标准输出 | 设计目的 |
|---|---|---|---|---|---|---|
| 1 | 弱数据 | 1 | 1 | 单件物品恰好装入 | 5 | 检查最小规模和基本选择逻辑 |
| 2 | 3 | 所有物品均无法装入 | 0 | 检查答案为零及容量不足情况 | ||
| 3 | 正常数据 | 4 | 10 | 原始体积乱序 | 108 | 检查排序编号以及实际占用空间的计算 |
| 4 | 7 | 原始体积全部相同 | 130 | 检查体积相同时按输入顺序排列 | ||
| 5 | 5 | 12 | 多件组合优于单件 | 30 | 检查 01 背包组合决策和倒序更新 | |
| 6 | 较强数据 | 6 | 15 | 同体积、高价值交错,最优方案恰好装满 | 270 | 综合检查排序次序、组合选择与容量边界 |
| 7 | 极限数据 | 100 | 2000 | 原始体积严格递减 | 3454 | 检查最大规模、完全逆序输入和大量状态转移 |
| 8 | 体积全部相同,单件价值为 2×10⁹ |
124000000000 | 检查同体积稳定次序及 long long 累加,卡 int 溢出 |
相关
在以下作业中: