#6975. 装箱验收(inspection)

装箱验收(inspection)

装箱验收(inspection)

题目描述

某物流中心需要准备一批特殊物资。

仓库中共有 (n) 种物资,第 (i) 种物资的重量为 (wi),价值为(vi)(w_i),价值为 (v_i)。

在装箱前,仓库会将所有物资按重量从小到大排序,并从 1 开始重新编号。

如果重量相同,则按照输入顺序排列。

根据仓库的库存规定:

  • 重新编号为奇数的物资,最多只能选择一件。
  • 重新编号为偶数的物资,可以选择任意非负整数件。

此外,运输箱的验收系统规定:所有选中物资的总价值必须是奇数。

运输箱最大承重为 (V)。

在总重量不超过 (V) 的条件下,求能够获得的最大总价值。

如果无法满足验收要求,输出 -1。

输入格式

第一行包含两个整数 (n,V)。

接下来 (n) 行,每行输入两个整数 (wi,vi)(w_i,v_i)。

输出格式

输出最大合法总价值,无解输出 -1。

输入输出样例 #1

输入

4 10
5 9
2 3
4 7
3 5

输出

17

样例解释

排序后,重量为 3 的物资重新编号为 2,因此可以重复选择。

重量为 4 的物资重新编号为 3,因此最多选择一件。

选择两件重量为 3、价值为 5 的物资,以及一件重量为 4、价值为 7 的物资:

总重量为 (3+3+4=10)。

总价值为 (5+5+7=17),满足总价值为奇数的条件。

数据范围

  • (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)

统一说明

所有题目采用标准输入输出。

不同物品即使重量相同,也视为不同物品。每件物品或每种物资的可选择次数,以对应题目的具体规定为准。

建议时间限制:1~2 秒。

建议空间限制:128 MB。

测试点编号 层级 n V 特殊性质 标准输出 设计目的
1 弱数据 1 单个奇数价值物品 5 检查最小规模和奇数状态
2 4 10 所有价值均为偶数 -1 检查不存在奇数总价值方案
3 基础数据 3 6 输入重量乱序 13 检查排序后的新编号决定物品类型
4 正常数据 4 10 0/1 与完全背包交替出现 39 检查两种枚举方向及奇偶转移
5 6 12 所有物品重量相同 109 检查同重量时按原编号排序及重复选择限制
6 3 10 最优方案未装满容量,含超重物品 9 检查程序实际采用“不超过 V”的语义
7 较强数据 4 8 最大总价值方案为偶数 69 检查必须舍弃普通最优解、选择奇数价值方案
8 8 25 输入乱序,多种重量和价值奇偶混合 87 综合检查排序、物品类型与奇偶状态
9 极限数据 2 2000 同重量、奇数价值完全背包 1998999998001 检查重复次数奇偶和 long long
10 100 最大 n、最大容量、价值接近 int 上界 1998000000001 检查时间复杂度、容量边界和大数累加