#443. [CZOI2021 F] 战士

[CZOI2021 F] 战士

题目描述

小 X 在玩一款操控战士和怪物战斗的游戏。战士初始生命值为 iHiH、初始攻击力为 iAiA。怪物只有一个,初始生命值为 HH

战斗是回合制的,且有一个回合数限制 MM。如果在 MM 回合内怪物还没有被杀死,小 X 就失败了。在每个回合,战士先行动,怪物再行动。

每当战士行动,小 X 可以命令战士做以下两件事中的一件:

  • 攻击,让怪物的生命值减少当前战士攻击力的数值。

  • 磨刀,让战士攻击力增加 dAdA

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

  • 如果怪物死亡,那么战斗就结束了。
  • 如果战士死亡,会​立刻复活​,将生命值和攻击力恢复为初始数值。现在小 X 想问问你,最少能在几个回合内杀死怪物。

输入格式

第一行,5 个整数,分别为 iH,iA,H,dA,MiH,iA,H,dA,M,意义见问题描述。

第二行 MM 个整数,表示第 ii 个回合怪物的攻击力 CiCi

输出格式

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

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

数据范围

1iH,iA,H109 1 \leq iH,iA,H \leq 10^9

0dA1090 \leq dA \leq 10^9

1M2×1051 \leq M \leq 2\times10^5