AT_past202309_n.ソートと関数
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
对于一个由正整数组成的多重集 S,定义函数 f(S) 如下:
- 首先,令 A=(A0,A1,…,A∣S∣−1) 为 S 的元素按升序排序后的列表。
- 然后,f(S)=i=0∑∣S∣−1KiAi。常数 K 将由输入给出。
- 如果 S 为空集,则 f(S)=0。
现有一个初始为空的多重集 T。将对这个集合总共进行 Q 次如下操作:
- x
向 T 中加入一个 x。
- x
从 T 中移除一个 x。保证此时 T 中至少有一个 x。
每次操作后,输出此时 f(T) 对 998244353 取模后的值。
输入格式
从标准输入读取数据,格式如下:
Q K
ope1
ope2
⋮
opeQ
其中 opei 表示第 i 次操作。
输出格式
共输出 Q 行。
第 i 行输出第 i 次操作后 f(T) 对 998244353 取模的结果。
输入输出样例
输入#1
10 2 + 7 - 7 + 2 + 3 - 2 + 3 + 5 - 3 + 998244352 + 5
输出#1
7 0 2 8 3 9 29 13 9 25
说明/提示
样例解释 1
- 第一次操作向 T 加入 7。
- 此时 T={7},f(T)=7。
- 第二次操作移除 7。
- 此时 T={},f(T)=0。
- 第三次操作加入 2。
- 此时 T={2},f(T)=2。
- 第四次操作加入 3。
- 此时 T={2,3},f(T)=8。
- 第五次操作移除 2。
- 此时 T={3},f(T)=3。
- 第六次操作加入 3。
- 此时 T={3,3},f(T)=9。
- 第七次操作加入 5。
- 此时 T={3,3,5},f(T)=29。
- 第八次操作移除 3。
- 此时 T={3,5},f(T)=13。
- 第九次操作加入 998244352。
- 此时 T={3,5,998244352},f(T)=3992977421,对 998244353 取模输出 9。
- 第十次操作加入 5。
- 此时 T={3,5,5,998244352},f(T)=7985954849,对 998244353 取模输出 25。
数据范围
- Q 和 K 为整数。
- 1≤Q≤3×105
- 1≤K<998244353
- 每次操作中的 x 为整数。
- 对于每次
+操作,1≤x<998244353。 - 对于每次
-操作,保证 T 中有一个及以上 x。
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?