AT_donuts_2015_4 ドーナツの箱詰め

题目描述

须藤なつき小姐是一位负责甜甜圈装箱的店员。她现在有 $ K $ 个甜甜圈和 $ N $ 个箱子要进行装箱。每个箱子 $ i\ (1 \le i \le N) $ 的体积是 $ C_i $,且每个箱子只能装一个甜甜圈。 由于箱子的数量多于甜甜圈的数量,为了使用所有箱子,なつき决定通过把一些箱子放入其他更大的箱子中来使用所有箱子。每个箱子中必须放一个甜甜圈或一个比它体积小的箱子。如果将箱子 $ j $ 放到箱子 $ i $ 里,则需要在两个箱子之间放入体积为 $ C_{i} - C_{j} $ 的缓冲材料。请计算在所有箱子都得到合理利用的情况下,所需的缓冲材料总量的最小值。 此外,由于なつき在操作中可能会不小心压坏一些箱子。每当有箱子被压坏时,请计算使用剩余箱子进行装箱时���要的缓冲材料总量的最小值。なつき总共会压坏 $ Q $ 个箱子,第 $ i $ 个被压坏的箱子是 $ D_i $。

输入格式

输入通过标准输入按如下格式提供: > $ N $ $ K $ $ C_1 $ $ C_2 $ ... $ C_N $ $ Q $ $ D_1 $ $ D_2 $ ... $ D_Q $ - 第一行包含两个整数 $ N\ (1 \le N \le 200,000)$ 和 $ K\ (1 \le K \le N)$,表示起初有 $ N $ 个箱子和 $ K $ 个甜甜圈。 - 第二行包含 $ N $ 个整数,分别表示每个箱子的体积。其中第 $ i $ 个整数 $ C_i\ (1 \le C_i \le 200,000)$ 表示箱子 $ i $ 的体积。保证对于任意 $ p \neq q $,都有 $ C_p \neq C_q $。 - 第三行包含一个整数 $ Q\ (0 \le Q \le N-K)$,表示なつき压坏的箱子数量。 - 接下来的 $ Q $ 行中,每行给出一个整数 $ D_i\ (1 \le D_i \le N)$,表示なつき压坏的第 $ i $ 个箱子是 $ D_i $。保证对于任意 $ p \neq q $,都有 $ D_p \neq D_q $。

输出格式

输出共 $ Q+1 $ 行。第一行输出使用所有 $ N $ 个箱子进行装箱时所需的最小缓冲材料总量。接下来的 $ Q $ 行中,第 $ i $ 行输出在压坏了第 $ i $ 个箱子后,使用剩余箱子进行装箱时所需缓冲材料总量的最小值。输出每行末尾需要换行。

说明/提示

### 部分分 以下是题目的一些部分分提示: - 当满足 $ Q = 0 $ 且 $ K = 2 $ 的数据集 1 正确时,可以获得 15 分。 - 当满足 $ Q = 0 $ 的数据集 2 正确时(与上述分数无关),可以获得 25 分。 - 当满足 $ K = 2 $ 的数据集 3 正确时(与上述分数无关),可以获得 30 分。 **本翻译由 AI 自动生成**