#abc306e. [abc306_e]Best Performances

[abc306_e]Best Performances

题目描述

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

  • BB是通过以降序对AA进行排序得到的序列(使其单调非递增)。
  • 然后,令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

约束条件

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

输入

输入以以下格式从标准输入中给出:

NN KK QQ X1X_1 Y1Y_1 X2X_2 Y2Y_2 \vdots XQX_Q YQY_Q

输出

共输出QQ行。第ii行应该包含当第ii次更新结束时的整数值f(A)f(A)


示例输入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

在这个输入中,N=4N=4K=2K=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