AT_joi2021_yo2_d 安全点検 (Safety Inspection)

题目描述

在 JOI 市有一条恒长不变的道路,它可以被看作是一条数轴。数轴上的每一个点都用一个实数坐标来表示。沿这条路分布着 $N$ 个设施,这些设施按坐标从小到大依次标记为 $1$ 到 $N$。设施 $i$ 位于坐标 $A_i$。 JOI 市计划对这些设施进行安全检查。对每个设施 $i$,需要进行 $B_i$ 个独立的检查项目。目前有 $K$ 名工人参与这次检查。在开始检查时,所有工人都位于坐标 $0$。进行检查时,工人每分钟可以选择以下两种操作之一: - 向任意方向移动 $1$ 个单位距离。 - 在当前坐标对一个检查项目进行检查。 要完成这次检查任务,所有设施的每个检查项目都必须至少由一名工人检查。 根据给定的工人数和设施的信息,请编写程序计算完成所有安全检查所需的最短时间(分钟)。

输入格式

输入以如下格式提供: > $N$ $K$ $A_1$ $A_2$ $\cdots$ $A_N$ $B_1$ $B_2$ $\cdots$ $B_N$

输出格式

输出一个整数,表示完成所有安全检查所需的最短时间(分钟)。

说明/提示

- $1 \leq N \leq 100\,000$:设施数目。 - $1 \leq K \leq 10^{9}$:工人数。 - $1 \leq A_i \leq 10^{9}$:设施 $i$ 的坐标。 - $A_i < A_{i+1}$ ($1 \leq i \leq N-1$):设施坐标递增。 - $1 \leq B_i \leq 10^{9}$:每个设施需要检查的项目数。 ### 子任务 1. ($3$ 分) $K = 1$。 2. ($15$ 分) $K = 2$。 3. ($82$ 分) 没有额外限制。 ### 样例解释 例如,可以通过以下步骤在 $7$ 分钟内完成检查。三名工人分别编号为工人 $1, 2, 3$: 1. 工人 $1, 2, 3$ 移动到坐标 $1$。 2. 工人 $1, 2, 3$ 各自完成设施 $1$ 的一个检查项目。 3. 工人 $1, 2$ 移动到坐标 $2$,工人 $3$ 继续检查设施 $1$ 的一个项目。 4. 工人 $1, 2$ 移动到坐标 $3$,工人 $3$ 移动到坐标 $2$。 5. 工人 $1, 2$ 移动到坐标 $4$,工人 $3$ 移动到坐标 $3$。 6. 工人 $1, 2$ 各自完成设施 $3$ 的一个检查项目,工人 $3$ 完成设施 $2$ 的一个检查项目。 7. 工人 $1, 2$ 各自再完成设施 $3$ 的一个检查项目,工人 $3$ 再完成设施 $2$ 的一个检查项目。 任何情况下都无法在 $7$ 分钟内完成检查,因此输出 $7$。 **本翻译由 AI 自动生成**