#B4207. [常州市程序设计小能手 2021] 战士
[常州市程序设计小能手 2021] 战士
题目背景
搬运自 http://czoj.com.cn/p/443。数据为民间数据。
题目描述
小 在玩一款操控战士和怪物战斗的游戏。战士初始生命值为 、初始攻击力为 。怪物只有一个,初始生命值为 。
战斗是回合制的,且有一个回合数限制 。如果在 回合内怪物还没有被杀死,小 就失败了。在每个回合,战士先行动,怪物再行动。
每当战士行动,小 可以命令战士做以下两件事中的一件:
- 攻击,让怪物的生命值减少当前战士攻击力的数值。
- 磨刀,让战士攻击力增加 。
每当怪物行动,怪物会攻击战士,使战士的生命值减少 ,其中 为回合数。
当一个角色生命值小于等于 时,角色会死亡。
- 如果怪物死亡,那么战斗就结束了。
- 如果战士死亡,会立刻复活,将生命值和攻击力恢复为初始数值。
现在小 想问问你,最少能在几个回合内杀死怪物。
输入格式
第一行, 个整数,分别为 ,意义见问题描述。
第二行 个整数,表示第 个回合怪物的攻击力 。
输出格式
输出一行一个整数表示最少能在几个回合内杀死怪物。如果 回合内杀不死,输出 -1
。
4 1 6 1 8
2 1 1 1 1 1 1 1
5
提示
样例解释
其中一种合法方案:
- 第一回合:战士磨刀,战士攻击力变为 ;怪物攻击,战士生命值变成 。
- 第二回合:战士攻击,怪物生命值变为 ;怪物攻击,战士生命值变成 。
- 第三回合:战士攻击,怪物生命值变为 ;怪物攻击,战士死亡后复活,生命值变为 ,攻击力变为 。
- 第四回合:战士攻击,怪物生命值变为 ;怪物攻击,战士生命值变成 。
- 第五回合:战士攻击,怪物死亡。
数据范围
本题共有 个测试点。
对于所有数据,$1\le \text{iH,iA},H\le10^9,0\le \text{dA}\le10^9,1\le C_i\le M\le2\times10^5$。
|测试点编号||特殊性质|
|:-:|:-:|:-:|
||||
|||无|
|||无|
|||无|
|||无|