题目描述
给定一个由 N 项组成的正整数序列 A=(A1,A2,…,AN) 和 Q 个查询。第 i 个查询如下:
- 给定整数 xi,yi(其中 1≤xi≤N)。将 Axi 修改为 yi。
每当通过查询修改数列后,请求出下述问题的答案,并对 998244353 取模(参见注记)。
对于数列 A,进行如下操作 n 次时,所能获得的总得分最大值记为 f(n)。
- 选择满足 Ai≤Aj 的 i,j,以及满足 Ai+2x≤Aj 的非负实数 x。
- 将 Ai 增加 x,将 Aj 减少 x。
- 获得 x 分。
可以证明极限 n→∞limf(n) 存在。请计算该值。
输入格式
输入按以下格式从标准输入给出。
N Q A1 A2 … AN x1 y1
⋮
xQ yQ
输出格式
请输出 Q 行。第 i 行输出第 i 次查询修改数列后的答案。
样例 1
输入
3 4
7 5 5
1 5
2 6
1 7
3 5
输出
0
1
2
2
样例 2
输入
2 4
1 2
2 5
1 3
1 2
2 3
输出
2
1
499122178
499122177
说明/提示
注记
所求极限一定是有理数。在本题的约束下,若用互质的两个整数 P,Q 表示该值为 QP,则存在唯一的整数 R 满足 R×Q≡P(mod998244353) 且 0≤R<998244353。请输出这个 R。
约束条件
- 2≤N≤3×105
- 1≤Q≤3×105
- 1≤Ai≤109
- 1≤xi≤N
- 1≤yi≤109
样例解释 1
经过第 1 次查询,数列变为 (5,5,5)。此时对于任意 n,都有 f(n)=0,因此答案为 0。
经过第 2 次查询,数列变为 (5,6,5)。操作可以如下进行:
- 选择 (i,j,x)=(3,2,0.4),将数列变为 (5,5.6,5.4),获得 0.4 分。
- 选择 (i,j,x)=(1,2,0.3),将数列变为 (5.3,5.3,5.4),获得 0.3 分。
上述方法通过 2 次操作获得了 0.7 分,因此 f(2)≥0.7。
在这种情况下,获得的总分不会超过 1,并且通过增加操作次数并采用最优方法,可以使总得分无限接近 1。因此 n→∞limf(n)=1。
由 ChatGPT 4.1 翻译