#ABC231E. 最少支付

最少支付

最少支付

题目描述

AtCoder 王国流通着 NN 种硬币,面值分别为 A1A_1 日元、A2A_2 日元、\ldotsANA_N 日元。

这里满足 1=A1<<AN1 = A_1 \lt \ldots \lt A_N,并且对于每个 1iN11 \le i \le N - 1,Ai+1A_{i+1}AiA_i 的倍数。

当只用这些硬币支付价格为 XX 日元的商品时,支付所用的硬币数与找零所用的硬币数之和的最小值是多少?

准确地说,当 YY 是不小于 XX 的整数时,求「恰好凑出 YY 日元所需的硬币数」与「恰好凑出 YXY - X 日元所需的硬币数」之和的最小值。

输入格式

输入按以下格式从标准输入给出。

NN XX
A1A_1 \ldots ANA_N

输出格式

输出答案。

样例

3 87
1 10 100
5

如果支付 1 枚 100100 日元硬币,并找回 1 枚 1010 日元硬币和 3 枚 11 日元硬币,硬币总数就是 55

2 49
1 7
7

支付 7 枚 77 日元硬币是最优的。

10 123456789012345678
1 100 10000 1000000 100000000 10000000000 1000000000000 100000000000000 10000000000000000 1000000000000000000
233

数据范围

  • 输入中的所有值都是整数。
  • 1N601 \le N \le 60
  • 1=A1<<AN10181 = A_1 \lt \ldots \lt A_N \le 10^{18}
  • 对于每个 1iN11 \le i \le N - 1,Ai+1A_{i+1}AiA_i 的倍数。
  • 1X10181 \le X \le 10^{18}
难度 提高
通过率
尝试 0
已通过 0
ID
2340
类型
传统题
Time Limit
2000ms
Memory Limit
1024MiB
上传者
标签