U615107 再次跳跃吧,俊潇!
题目背景
众所周知,俊潇是集训室的一代团宠,最大的爱好是 —— COS 饶李健。
某天中午 12 点,他从床上爬起来,迷迷糊糊地走向集训室。由于昨晚熬夜打 CrossFire,他的脑袋昏昏沉沉,突然发现前方的道路被划分为了 $n+1$ 个格子:
- 起点位于第 $1$ 号格子;
- 集训室位于第 $n+1$ 号格子。
他需要通过不断跳跃精确落到第 $n+1$ 号格子,超出第 $n+1$ 号格子视为失败。
题目描述
对于每一个格子 $i$($1 \le i \le n$),有两个属性:
- $a[i]$:当位于第 $i$ 个格子时,最多可以向前跳 $a[i]$ 格,即可以跳到位置 $i+1, i+2, \dots, i + a[i]$ 中的任意一格;
- $w[i]$:执行该次跳跃需要消耗的生命值。
在跳跃过程中,如果生命值降至 $\le 0$,则视为 嘎了(任务失败)。
俊潇人如其名,英俊潇洒,从而吸引了众多迷妹,于是他掌握了一种神秘力量:
- 最多可使用 $k$ 次魔法;
- 每次使用魔法,可以使该次跳跃不消耗生命值;
- 每次跳跃至多使用一次魔法。
俊潇请求你来帮他判断:
最少使用多少次魔法,使俊潇在生命值不耗尽的情况下成功跳到第 $n+1$ 号格子?
输入格式
测试数据输入形如:
```
n k H
a[1] a[2] ... a[n]
w[1] w[2] ... w[n]
```
参数说明:
- $n$:共有 $n$ 个带参数的格子(终点在第 $n+1$ 号格子)。范围:$1 \le n \le 10^{5}$,整数。
- $k$:俊潇最多可使用的魔法次数。范围:$0 \le k \le 100$,整数。
- $H$:初始生命值。范围:$1 \le H \le 10^{12}$,整数。
- $a[i]$:从第 $i$ 个格子起跳的最大步长(最远落到 $i+a[i]$)。范围:$1 \le a[i] \le 10$,整数。
- $w[i]$:从第 $i$ 个格子起跳所消耗的生命值。
范围:$0 \le w[i] \le 10^{9}$,整数。
输出格式
输出一个整数:
最少使用魔法的次数,使俊潇在生命值不耗尽的情况下成功跳到第 $n+1$ 号格子,如果无法做到请输出 $-1$ 。
说明/提示
第一个样例:俊潇会使用两次魔法来抵消前两次跳跃的生命值消耗。最后一次跳跃时,俊潇将扣除 $2$ 点生命值,此时剩余生命值为 $1$ 能够成功到达终点。最少使用 $2$ 次魔法。
第二个样例:前两次使用了两次魔法,第三次跳跃必须扣除 $3$ 点生命值,结果生命值变为 $0$,视为失败,无法抵达终点。