#B4207. [常州市程序设计小能手 2021] 战士

    ID: 8476 远端评测题 1000ms 128MiB 尝试: 0 已通过: 0 难度: 4 上传者: 标签>模拟贪心2021江苏枚举小学科创活动

[常州市程序设计小能手 2021] 战士

题目背景

搬运自 http://czoj.com.cn/p/443。数据为民间数据。

题目描述

X\text X 在玩一款操控战士和怪物战斗的游戏。战士初始生命值为 iH\text{iH} 、初始攻击力为 iA\text{iA} 。怪物只有一个,初始生命值为 HH
战斗是回合制的,且有一个回合数限制 MM 。如果在 MM 回合内怪物还没有被杀死,小 X\text X 就失败了。在每个回合,战士先行动,怪物再行动。
每当战士行动,小 X\text X 可以命令战士做以下两件事中的一件:

  • 攻击,让怪物的生命值减少当前战士攻击力的数值。
  • 磨刀,让战士攻击力增加 dA\text{dA}

每当怪物行动,怪物会攻击战士,使战士的生命值减少 CiC_i ,其中 ii 为回合数。
当一个角色生命值小于等于 00 时,角色会死亡。

  • 如果怪物死亡,那么战斗就结束了。
  • 如果战士死亡,会立刻复活,将生命值和攻击力恢复为初始数值。

现在小 XX 想问问你,最少能在几个回合内杀死怪物。

输入格式

第一行,55 个整数,分别为 iH,iA,H,dA,M\text{iH,iA},H,\text{dA},M,意义见问题描述。
第二行 MM 个整数,表示第 ii 个回合怪物的攻击力 CiC_i

输出格式

输出一行一个整数表示最少能在几个回合内杀死怪物。如果 MM 回合内杀不死,输出 -1

4 1 6 1 8
2 1 1 1 1 1 1 1
5

提示

样例解释

其中一种合法方案:

  • 第一回合:战士磨刀,战士攻击力变为 22 ;怪物攻击,战士生命值变成 22
  • 第二回合:战士攻击,怪物生命值变为 44 ;怪物攻击,战士生命值变成 11
  • 第三回合:战士攻击,怪物生命值变为 22 ;怪物攻击,战士死亡后复活,生命值变为 44 ,攻击力变为 11
  • 第四回合:战士攻击,怪物生命值变为 11 ;怪物攻击,战士生命值变成 33
  • 第五回合:战士攻击,怪物死亡。

数据范围

本题共有 1010 个测试点。
对于所有数据,$1\le \text{iH,iA},H\le10^9,0\le \text{dA}\le10^9,1\le C_i\le M\le2\times10^5$。 |测试点编号|MM|特殊性质| |:-:|:-:|:-:| |11|2×105\le 2\times10^5|dA=0\text{dA}=0| |232\sim3|20\le20|无| |454\sim5|30\le30|无| |686\sim8|103\le10^3|无| |9109\sim10|2×105\le2\times10^5|无|