#6978. 密码配额(quota)

密码配额(quota)

密码配额(quota)

题目描述

某实验室正在准备一批特殊材料。

共有 (n) 份不同的材料,每份材料都有一个正整数编号 (ai)和使用价值(vi)(a_i) 和使用价值 (v_i)。

材料需要消耗的资源数量由其编号决定:

资源消耗量等于编号中所有十进制数字的乘积。

例如:

  • 编号 23 的材料,资源消耗量为 (2×3=6)(2\times3=6);
  • 编号 111 的材料,资源消耗量为 (1×1×1=1)(1\times1\times1=1)。

每份材料最多只能使用一次。

实验室要求选中材料的资源消耗量之和必须恰好等于 (V)。

在满足要求的前提下,求最大总价值。

如果不存在满足要求的方案,输出 -1。

输入格式

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

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

输出格式

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

输入输出样例 #1

输入

4 9
12 3
23 8
34 12
111 2

输出

13

样例解释

编号为 12、23、111 的三份材料,资源消耗量分别为 2、6、1。

选择这三份材料,可以恰好消耗:

2+6+1=9

获得总价值:

3+8+2=13

数据范围

  • (1≤n≤100)(1\le n\le100)
  • (1≤V≤2000)(1\le V\le2000)
  • (1≤ai≤9999)(1\le a_i\le9999)
  • (1≤vi≤10000)(1\le v_i\le10000)

特别保证:每个编号的十进制表示中都不含数字 0。

测试点编号 层级 n V 数据特征 标准输出 设计目的
1 弱数据 1 单个物品恰好装满 5 检查最小规模与基础转移
2 2 5 物品重量分别为 2、4 -1 检查无法恰好装满时输出 -1
3 1 4 单件重量为 2,容量是其两倍 检查单个物品不能重复选择
4 基础数据 4 6 10、105 的数位积为 0 22 检查零重量物品可各选择一次
5 正常数据 5 10 数位积包含 1、4、6、10、81 20 检查整数大小与实际重量无直接关系
6 存在多种精确装满组合 22 检查组合价值取最大值
7 边界数据 4 7 正重量均为偶数,另有零重量物品 -1 检查零重量物品不能改变容量可达性
8 较强数据 12 高价值重量 10 的物品无法补足容量 25 检查“恰好装满”对普通最优方案的限制
9 边界数据 7 100 包含数位积为 9⁹ 的超重物品 135 检查大数位积、超重过滤及精确组合
10 极限数据 100 2000 80 件重量 25,20 件零重量,价值均为 10⁹ 100000000000 检查最大规模、零重量、精确装满及 long long