#6979. 特殊藏品(collection)

特殊藏品(collection)

特殊藏品(collection)

题目描述

某博物馆准备从 (n) 件藏品中选择若干件进行展览。

第 (i) 件藏品具有一个编号 (a_i)、重量 (w_i) 和展示价值 (v_i)。

每件藏品只有一件,最多只能选择一次。

博物馆按照藏品编号进行特殊分类:

如果一个编号的所有十进制数字之和为奇数,则称该藏品为特殊藏品;否则称为普通藏品。

展览要求:

  1. 所有选中藏品的总重量不超过 (V)。
  2. 选中的特殊藏品件数必须是奇数。
  3. 展示总价值尽可能大。

如果不存在合法方案,输出 -1。

输入格式

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

接下来 (n) 行,每行输入三个整数:

a w v

输出格式

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

输入输出样例 #1

输入

4 7
12 2 5
24 3 6
111 4 10
80 5 9

输出

16

样例解释

编号 12 的数位和为 3,是特殊藏品。

编号 111 的数位和也为 3,是特殊藏品。

编号 24 和 80 的数位和均为偶数,是普通藏品。

可以选择编号为 111 和 24 的藏品:

  • 总重量:(4+3=7)
  • 总价值:(10+6=16)
  • 选中的特殊藏品件数:1

满足全部条件。

数据范围

  • (1≤n≤100)(1\le n\le100)
  • (1≤V≤2000)(1\le V\le2000)
  • (1≤ai≤109)(1\le a_i\le10^9)
  • (1≤wi≤2000)(1\le w_i\le2000)
  • (1≤vi≤10000)(1\le v_i\le10000)

测试点编号 层级 n V 数据特征 标准输出 设计目的
1 弱数据 1 单件特殊藏品恰好装入 5 检查最小规模和奇数状态建立
2 3 10 所有藏品的数位和均为偶数 -1 检查不存在特殊藏品时输出 -1
3 5 唯一特殊藏品重量超过容量 检查普通藏品不能建立奇数状态
4 基础数据 4 三件均为特殊藏品,最多选择两件 30 检查两件特殊藏品属于偶数状态,不能作为答案
5 正常数据 5 10 特殊与普通藏品混合 65 检查普通藏品对奇数状态的价值增益
6 4 最优合格方案只使用 6 单位容量 50 检查容量不要求恰好用完
7 较强数据 6 15 多种数位和、重量和价值组合 37 综合检查特殊判定、容量与奇偶转移
8 边界数据 5 三件零重量藏品,其中两件特殊 77 检查零重量物品的 0/1 限制和状态翻转
9 极限价值 4 2000 单项价值为 2×10⁹ 8000000000 检查 long long 累加与奇数件限制
10 极限规模 100 50 件特殊、50 件普通,重量和价值相同 99000000000 检查最大规模;全部选择为偶数状态,必须舍弃一件特殊藏品