CF241A Old Peykan

题目描述

在老 Peykan 所居住的国家有 $n$ 个城市。这些城市位于一条直线上,我们从左到右将它们记作 $c_{1},c_{2},...,c_{n}$。老 Peykan 想要利用道路从城市 $c_{1}$ 前往城市 $c_{n}$。有 $n-1$ 条单向道路,第 $i$ 条道路连接城市 $c_{i}$ 到城市 $c_{i+1}$,长度为 $d_{i}$ 公里。 老 Peykan 以每小时 1 公里的速度行驶,并且每行驶 1 公里消耗 1 升燃油。 每个城市 $c_{i}$(除了最后一个城市 $c_{n}$)都储备有 $s_{i}$ 升燃油,只要老 Peykan 路过或停留在该城市,这些燃油会立刻转移到他的油箱中。每经过 $k$ 小时,这个燃油储备会立即补充一次。老 Peykan 可以在城市中停留任意时长,多次为油箱加满油。 刚开始时(即第零小时),老 Peykan 位于城市 $c_{1}$,并且此时 $c_{1}$ 的 $s_{1}$ 升燃油转移到他空的油箱中。老 Peykan 的油箱容量无限大。如果在两座城市之间燃油耗尽,则老 Peykan 不能继续前进。 请你计算老 Peykan 从 $c_{1}$ 到 $c_{n}$ 所需的最少时间。

输入格式

输入的第一行包含两个用空格分隔的整数 $m$ 和 $k$,$1\leq m,k\leq 1000$。$m$ 表示城市间道路数量,即 $n-1$。 接下来一行包含 $m$ 个用空格分隔的整数 $d_{1},d_{2},...,d_{m}$,$1\leq d_{i}\leq 1000$,表示每段道路的长度。下一行为 $m$ 个用空格分隔的整数 $s_{1},s_{2},...,s_{m}$,$1\leq s_{i}\leq 1000$,表示每个城市的燃油供给量。

输出格式

输出一行,表示老 Peykan 从城市 $c_{1}$ 到 $c_{n}$ 所需的最少时间。

说明/提示

在上面的第二个样例中,老 Peykan 在 $c_{1}$ 停留了 3 小时。 由 ChatGPT 5 翻译