#aBC306E. [ABC306E] Best Performances

[ABC306E] Best Performances

AT_abc306_e [ABC306E] Best Performances

题目描述

有一个长度为 NN 的数列 A=(A1,A2,,AN)A=(A_1,A_2,\dots,A_N),初始时所有项均为 00
给定一个整数 KK,定义函数 f(A)f(A) 如下:

  • AA 按降序(即非增序)排序,得到数列 BB
  • 此时,f(A)=B1+B2++BKf(A)=B_1+B_2+\dots+B_K

现在对该数列进行共 QQ 次更新。
对于数列 AA,依次进行以下 i=1,2,,Qi=1,2,\dots,Q 的更新操作,并在每次更新后输出此时的 f(A)f(A) 的值。

  • AXiA_{X_i} 修改为 YiY_i

输入格式

输入从标准输入按以下格式给出。

NN KK QQ X1X_1 Y1Y_1 X2X_2 Y2Y_2 \vdots XQX_Q YQY_Q

输出格式

共输出 QQ 行。第 ii 行输出第 ii 次更新结束时的 f(A)f(A) 的值。

输入输出样例 #1

输入 #1

4 2 10
1 5
2 1
3 3
4 2
2 10
1 0
4 0
3 1
2 0
3 0

输出 #1

5
6
8
8
15
13
13
11
1
0

说明/提示

数据范围

  • 所有输入均为整数。
  • 1KN5×1051\leq K\leq N\leq 5\times 10^5
  • 1Q5×1051\leq Q\leq 5\times 10^5
  • 1XiN1\leq X_i\leq N
  • 0Yi1090\leq Y_i\leq 10^9

样例解释 1

本输入中 N=4,K=2N=4,K=2。共进行 Q=10Q=10 次更新。

  • 11 次更新后 A=(5,0,0,0)A=(5,0,0,0),此时 f(A)=5f(A)=5
  • 22 次更新后 A=(5,1,0,0)A=(5,1,0,0),此时 f(A)=6f(A)=6
  • 33 次更新后 A=(5,1,3,0)A=(5,1,3,0),此时 f(A)=8f(A)=8
  • 44 次更新后 A=(5,1,3,2)A=(5,1,3,2),此时 f(A)=8f(A)=8
  • 55 次更新后 A=(5,10,3,2)A=(5,10,3,2),此时 f(A)=15f(A)=15
  • 66 次更新后 A=(0,10,3,2)A=(0,10,3,2),此时 f(A)=13f(A)=13
  • 77 次更新后 A=(0,10,3,0)A=(0,10,3,0),此时 f(A)=13f(A)=13
  • 88 次更新后 A=(0,10,1,0)A=(0,10,1,0),此时 f(A)=11f(A)=11
  • 99 次更新后 A=(0,0,1,0)A=(0,0,1,0),此时 f(A)=1f(A)=1
  • 1010 次更新后 A=(0,0,0,0)A=(0,0,0,0),此时 f(A)=0f(A)=0

由 ChatGPT 4.1 翻译