CF1415E New Game Plus!

题目描述

Wabbit 正在和 $ n $ 个编号为 $ 1 $ 到 $ n $ 的 Boss 玩游戏。这些 Boss 可以以任意顺序挑战,每个 Boss 需要被击败恰好一次。有一个名为 Boss 奖励的参数,初始值为 $ 0 $。 当第 $ i $ 个 Boss 被击败时,当前的 Boss 奖励会被加到 Wabbit 的得分上,然后 Boss 奖励的值增加 $ c_i $。注意,$ c_i $ 可能为负数,这意味着之后的 Boss 能获得的分数会减少。 然而,Wabbit 发现了游戏中的一个漏洞。在任何时刻,他都可以重置游戏并开始一次“新游戏+”流程。这会将当前的 Boss 奖励重置为 $ 0 $,而所有已击败的 Boss 依然保持已击败状态。当前得分也会被保留,不会因重置而归零。这个漏洞最多可以使用 $ k $ 次。他可以在击败任意数量的 Boss 后重置(包括在击败所有 Boss 之前或之后),也可以连续多次重置而不击败任何 Boss。 请你帮助 Wabbit 计算,如果他必须击败所有 $ n $ 个 Boss,他最多能获得多少分数(这个值可能为负数)。

输入格式

输入的第一行包含两个用空格分隔的整数 $ n $ 和 $ k $($ 1 \leq n \leq 5 \cdot 10^5 $,$ 0 \leq k \leq 5 \cdot 10^5 $),表示 Boss 的数量和允许重置的次数。 第二行包含 $ n $ 个用空格分隔的整数 $ c_1,c_2,\ldots,c_n $($ -10^6 \leq c_i \leq 10^6 $),表示每个 Boss 的分数增量。

输出格式

输出一个整数,表示 Wabbit 击败所有 $ n $ 个 Boss 能获得的最大分数(该值可能为负数)。

说明/提示

在第一个测试样例中,不允许重置。最优的挑战顺序如下: - 挑战第一个 Boss(得分 $ +0 $)。Boss 奖励变为 $ 1 $。 - 挑战第二个 Boss(得分 $ +1 $)。Boss 奖励变为 $ 2 $。 - 挑战第三个 Boss(得分 $ +2 $)。Boss 奖励变为 $ 3 $。 因此答案为 $ 0+1+2=3 $。 在第二个测试样例中,可以证明一种可能的最优挑战顺序如下: - 挑战第五个 Boss(得分 $ +0 $)。Boss 奖励变为 $ 5 $。 - 挑战第一个 Boss(得分 $ +5 $)。Boss 奖励变为 $ 4 $。 - 挑战第二个 Boss(得分 $ +4 $)。Boss 奖励变为 $ 2 $。 - 挑战第三个 Boss(得分 $ +2 $)。Boss 奖励变为 $ -1 $。 - 重置。Boss 奖励变为 $ 0 $。 - 挑战第四个 Boss(得分 $ +0 $)。Boss 奖励变为 $ -4 $。 因此答案为 $ 0+5+4+2+0=11 $。 由 ChatGPT 4.1 翻译