题目描述
小X在玩一款操控战士和怪物战斗的游戏。战士初始生命值为iH、初始攻击力为iA。怪物只有一个,初始生命值为H。
战斗是回合制的,且有一个回合数限制M。如果在M回合内怪物还没有被杀死,小X 就失败了。在每个回合,战士先行动,怪物再行动。
每当战士行动,小X可以命令战士做以下两件事中的一件:
- 攻击,让怪物的生命值减少当前战士攻击力的数值。
- 磨刀,让战士攻击力增加dA。
每当怪物行动,怪物会攻击战士,使战士的生命值减少Ci,其中i为回合数。
当一个角色生命值小于等于0时,角色会死亡。
- 如果怪物死亡,那么战斗就结束了。
- 如果战士死亡,会立刻复活,将生命值和攻击力恢复为初始数值。
现在小X想问问你,最少能在几个回合内杀死怪物。
输入
第一行,5个整数,分别为iH,iA,H,dA,M,意义见问题描述。
第二行M个整数,表示第i个回合怪物的攻击力Ci。
输出
输出一行一个整数表示最少能在几个回合内杀死怪物。
如果M回合内杀不死,输出-1。
样例输入输出
输入#1
复制
4 1 6 1 8
2 1 1 1 1 1 1 1
提示
【样例解释】
其中一种合法方案:
- 第一回合:战士磨刀,战士攻击力变为2;怪物攻击,战士生命值变成2。
- 第二回合:战士攻击,怪物生命值变为4;怪物攻击,战士生命值变成1。
- 第三回合:战士攻击,怪物生命值变为2;怪物攻击,战士死亡后复活,生命值变为4,攻击力变为1。
- 第四回合:战士攻击,怪物生命值变为1;怪物攻击,战士生命值变成3。
- 第五回合:战士攻击,怪物死亡。
【数据规模】
- 对于全部测试点:1<=iH,iA,H<=10^9,0<=dA<=10^9,1<=M<=2*10^5
- 对于测试点1:dA=0,M<=2*10^5
- 对于测试点2-3:M<=20
- 对于测试点4-5:M<=30
- 对于测试点6-8:M<=10^3
- 对于测试点9-10:M<=2*10^5