编程题
### 问题描述
叮叮车所在的省份有 $n$ 个城市,这些城市在一条直线上,城市的编号从左到右依次是 $c_1, c_2,...,c_n$ 叮叮车想从城市 $c_1$ 到达城市 $c_n$ ,途中需要经过 $n - 1$ 个城市,从城市 $c_1$ 到 $c_n$ 有 $n - 1$ 条**单行道**。第 $i$ 条道路从城市 $c_i$ 通往城市 ${c}_{i + 1}$ ,长 $d_i$ 公里。每个城市都有 $s_i$ 升燃料供应,叮叮车可以通过经过或停留在这个城市来获取燃料,如果获取燃料成功的话,被获取燃料城市的燃料将会在 $k$ 时间之后再次刷新,叮叮车可以在城市中停留一段时间并在该过程中多次加满油箱。
叮叮车 $1$ 小时可以行驶 $1$ 公里需要 $1$ 升燃料。
最初,叮叮车位于城市 $c_1$ , 并从城市 $c_1$ 的燃料供应中向其空油箱转移 $s_1$ 升燃料。叮叮车的油箱容量无限,但如果在两个城市之间没油了则无法继续行驶。请计算叮叮车从城市 $c_1$ 到达 $c_n$ 的最短时间。
### 输入格式
输入第 $1$ 行包含两个正整数 $m,k$ 表示城市间道路数量和刷新燃料的时间。
第二行包含 $m$ 个以空格分隔的整数 $d_1, d_2,...,d_m$ ,表示两个城市间的距离。
第三行包含 $m$ 个以空格分隔的整数 $s_1, s_2, ... s_m$ ,表示各城市的燃料数量。
### 输出格式
输出一行,这一行只包含一个整数,表示叮叮车从城市 $c_1$ 到达 $c_n$ 的最短时间。
### 样例1输入
```
4 6
1 2 5 2
2 3 3 4
```
### 样例1输出
```
10
```
### 样例2输入
```
2 3
5 6
5 5
```
### 样例2输出
```
14
```
### 说明/提示
样例 2 中,叮叮车在 $c_1$ 停留了 $3$ 小时。
### 评测数据规模
对于所有评测数据,$1 \leq m,k,s_i,d_i \leq 1000$ 。