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