B. 硬币购物

    传统题 1000ms 256MiB

硬币购物

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“赛后递交”以递交本题。

题目描述

现在有 NN 种不同面值的硬币。第 ii 种硬币的面值为 AiA_i 元,你手上有 BiB_i 枚这种硬币。

现在你想购买一件价格为 XX 元 的商品。请问最少需要使用多少种不同面值的硬币才能凑出足够金额购买该商品?

如果无论如何都无法凑出足够金额,则输出 1-1。 注意:

  • 目标是最小化使用的硬币种类数,而不是最小化使用的硬币总数
  • 允许支付超过 XX 的金额(不需要恰好支付 XX

输入格式

第一行两个整数 NNXX,表示硬币种类数和商品价格。

第二行NN 个整数 A1,A2,...,ANA_1, A_2, ..., A_N,表示各硬币面值。

第三行NN 个整数 B1,B2,...,BNB_1, B_2, ..., B_N,表示各硬币数量。

输出格式

输出一行一个整数,表示最少需要使用的硬币种类数,若无法购买则输出 1-1

输入输出样例

3 10
1 2 3
1 2 3
2

样例 #1\tt \#1说明

  • 使用 22 种硬币:3333 元硬币和 1122 元硬币,合计 1111 元(满足 10≥10 元)
  • 无法仅用 11 种硬币凑够金额,故答案为 22
3 10
1 2 3
1 2 1
-1

样例 #2\tt \#2说明

  • 即使使用所有硬币 (1×1+2×2+1×3=8)(1×1 + 2×2 + 1×3 = 8) 也不够 1010 元,输出1-1
5 100
5 10 15 20 25
1 1 2 3 4
1

样例 #3\tt \#3说明

  • 使用 2525 元硬币 44 枚(100100 元)即可,故答案为11

数据范围

测试点编号 NN XX Ai,BiA_i, B_i 特殊性质
141∼4 103\leq 10^3 109\le 10^9 1000\leq 1000 Ai=1A_i = 1
585∼8 Bi=1B_i = 1
9129∼12
132013∼20 105\leq 10^5

【AC-002-Div2】算法组月赛 || Round · 2

未参加
状态
已结束
规则
OI
题目
4
开始于
2025-7-19 0:00
结束于
2025-7-21 0:00
持续时间
3 小时
主持人
参赛人数
70