题解:B4207 [常州市程序设计小能手 2021] 战士
连续的若干次回合内显然优先磨刀,令在
i,a,h,d,m=map(int,input().split());m=n=q=0
for j in map(int,input().split()):
m+=1;q+=1;n+=j;o=int((a+m*d)/2/d)+(1 if(a+m*d)/2/d>.5+int((a+m*d)/2/d)else 0)if d else 1<<30
if(a+d*(m-min(o,m)))*min(o,m)>=h:print(q);exit()
if n>=i:h-=(a+d*(m-min(o,m)))*min(o,m);m=n=0
print(-1)