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$,视为失败,无法抵达终点。