#6971. 货品整理(goods)

货品整理(goods)

货品整理(goods)

题目描述

某仓库共有 (n) 件不同的货品,每件货品都有原始体积 (wi)和价值(vi)(w_i) 和价值 (v_i)。

运输前,工作人员需要将所有货品按照原始体积从小到大排序,并从 1 开始重新编号。

如果两件货品的体积相同,则按照它们在输入中出现的先后顺序排列。

由于包装设备的特殊要求,重新编号为 (i) 的货品,需要额外占用 (i-1) 单位的包装空间。

因此,这件货品最终占用的空间为:

wi+i−1w_i+i-1

仓库有一个容量为 (V) 的运输箱。

每件货品最多只能选择一次。

请计算在总占用空间不超过 (V) 的条件下,能够获得的最大总价值。

输入格式

第一行输入两个整数 (n,V),分别表示货品数量和运输箱容量。

接下来 (n) 行,每行包含两个整数 (vi)(v_i)。

输出格式

输出一个整数,表示最大总价值。

输入输出样例 #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)。

数据范围

  • (1≤n≤100)(1\le n\le100)
  • (1≤V≤2000)(1\le V\le2000)
  • (1≤wi≤2000)(1\le w_i\le2000)
  • (1≤vi≤10000)(1\le v_i\le10000)

测试点 层级 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 溢出