3947: 反客为主(挖土机 CSP-J 模拟赛 ~ 第十四场)

内存限制:256 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:1 解决:1

题目描述

炉石传说回归了,Jaggerchan 最近很喜欢玩。有一天他玩腻了,分解了自己的所有卡牌(即一张卡牌都没有),并希望 33DAI 帮他尽可能消耗掉自己的“奥术之尘”。

炉石传说有  种卡牌,第  种卡牌的合成价格是 ,分解价格是 。Jaggerchan 现在有  个奥术之尘,0 张卡牌。33DAI 可以进行两种操作(任意次数,包括 0 次):

  1. 如果奥术之尘数量大于等于 ,那么它可以合成一次第  种卡牌,这会使他的奥术之尘减少 ,并得到一张第  种卡牌。
  2. 如果他合成过至少一张第  种卡牌,那么它可以分解一张第  种卡牌,这会使他的奥术之尘增加 ,并减少一张第  种卡牌。

Jaggerchan 一张卡牌都不想要,请问在最终卡牌数量为 0 的基础上,33DAI 最多能消耗掉多少奥术之尘,请输出 Jaggerchan 剩余奥术之尘的最小值。

输入

第一行为空格隔开的两个数 ,

接下来  行,第  行为空格隔开的 ,

输出

输出 Jaggerchan 剩余奥术之尘的最小值。

样例输入 复制

100 1
2 1

样例输出 复制

1

提示

输入数据1:

100 1
2 1

输出数据1:

1

只要当前奥术之尘大于等于 2 就可以执行一次合成,然后立马分解,最后就会剩下 1 的奥术之尘。

输入数据2:

10 1
6 2

输出数据2:

2

输入数据3:

10 2
6 1
7 3

输出数据3:

1

可以先合成并分解一张第 2 种卡牌,剩余尘数变为 107+3=6,然后可以合成并分解一次第 1 种卡牌,剩余尘数变为 66+1=1

数据规模与约定

对于 100% 的数据,1500011000<

  • 子任务 1(10 分):保证 1=2 且 1=1
  • 子任务 2(20 分):保证 =1
  • 子任务 3(30 分):保证 =0
  • 子任务 4(40 分):没有特殊限制。

来源/分类