AT_past202303_m お片付け

题目描述

有 $N$ 个包裹,编号为 $1$ 到 $N$。第 $i$ 个包裹的体积为 $A_i$。 有 $M$ 个箱子,编号为 $1$ 到 $M$,按照编号从左到右依次排成一排:第 $1$ 个箱子在最左边,第 $M$ 个箱子在最右边。第 $i$ 个箱子的体积为 $B_i$。 每个箱子可以装任意数量的包裹,只要包裹的总体积不超过该箱子的体积。 对于每个包裹,按照 $1$ 到 $N$ 的顺序,Takahashi 会尝试如下操作: - 将该包裹放入第一个能够装下它的最左边的箱子。 请你判断 Takahashi 能否将所有包裹都放入箱子中。 如果可以,请输出所有包裹放入箱子后,每个箱子中包裹的总体积;如果不可以,请输出无法放入箱子的包裹中编号最小的一个。

输入格式

输入按如下格式从标准输入中给出: > $N$ $M$ > $A_1$ $A_2$ $\ldots$ $A_N$ > $B_1$ $B_2$ $\ldots$ $B_M$

输出格式

如果 Takahashi 能将所有包裹都放入箱子中: 第一行输出 `Yes`。 第二行输出 $C_1,C_2,\ldots,C_M$,用空格隔开,其中 $C_i$ 表示将所有包裹放入箱子后第 $i$ 个箱子的包裹总体积。 如果 Takahashi 不能将所有包裹都放入箱子中: 第一行输出 `No`。 第二行输出无法放入箱子的包裹中编号最小的一个。

说明/提示

### 样例解释 1 Takahashi 会按以下方式操作: - 包裹 $1$ 可以放入箱子 $1$、$2$、$3$,选择最左边的箱子 $1$ 放入。 - 包裹 $2$ 只能放入箱子 $3$,放入该箱子。 - 包裹 $3$ 可以放入箱子 $1$ 或箱子 $2$,选择最左边的箱子 $1$ 放入。 注意,当尝试放包裹 $2$ 时,包裹 $1$ 已经在箱子 $1$ 中,因此包裹 $2$ 不能放进箱子 $1$。 所有包裹放入箱子后: - 箱子 $1$ 内有包裹 $1$ 和 $3$,总容量为 $3+4=7$; - 箱子 $2$ 没有包裹,总容量为 $0$; - 箱子 $3$ 内有包裹 $2$,总容量为 $7$。 ### 样例解释 2 Takahashi 会按以下方式操作: - 包裹 $1$ 可以放入箱子 $1$ 或 $2$,选择最左边的箱子 $1$ 放入。 - 包裹 $2$ 无法放入任何一个箱子。 # 数据范围 - $1 \leq N \leq 2\times 10^5$ - $1 \leq M \leq 2\times 10^5$ - $1 \leq A_i,B_i \leq 10^9$ - 输入中所有值均为整数。 由 ChatGPT 5 翻译