#P11359. [eJOI2023] Team Building
[eJOI2023] Team Building
题目描述
你需要集结一个 人小队,第 个人的能力值为 ,你可以逐一将每个人加入你的小队。
在你的小队中,每个人拥有两个额外的属性:星语和可爱。加入一个人的过程分三步:
- 这个人进入小队,其星语和可爱值均为 。
- 剩余所有人的星语值加上自己的可爱值。
- 剩余所有人的可爱值加上新加入的人的能力值。
最后,你的小队的总星语值定义为所有人的星语值之和,你需要最大化总星语值。
例如,如果你按顺序加入了能力值为 的人,所有人的属性变化如下:
行动 | 星语 | 可爱 |
---|---|---|
加入第一个人 | ||
加入第二个人 | ||
更新星语值 | ||
更新可爱值 | ||
加入第三个人 | ||
更新星语值 | ||
更新可爱值 | ||
加入第四个人 | ||
更新星语值 | ||
更新可爱值 |
此时总星语值为 ,但是将顺序改为 就可以得到 。
你还需要处理 次修改,每次修改会将第 个人的能力值改为 ,你需要求出每次修改后的最大总星语值,修改之间不独立,即每次修改在下一次保留。
输入格式
第一行输入两个整数 。
第二行输入 个整数 。
接下来 行,每行输入两个整数 。
输出格式
输出 行,每行一个整数,代表初始序列和每次修改后的答案。
4 2
2 0 2 3
2 4
4 0
10
14
12
提示
【样例解释】
原始序列的最优方案在题面中已经给出。
第一次修改后的序列为 。
第二次修改后的序列为 。
【数据范围】
本题采用捆绑测试。
- Subtask 1(11 pts):,。
- Subtask 2(19 pts):。
- Subtask 3(15 pts):。
- Subtask 4(6 pts):。
- Subtask 5(9 pts):。
- Subtask 6(12 pts):。
- Subtask 7(10 pts):每次修改和原来的数之差不超过 。
- Subtask 8(18 pts):无特殊限制。
对于 的数据,保证 ,,,,。