AT_arc139_d [ARC139D] Priority Queue 2

题目描述

给定一个包含 $N$ 个元素的整数多重集合 $A=\lbrace\ A_1,A_2,\ldots,A_N\ \rbrace$。保证 $A$ 的所有元素都在 $1$ 到 $M$ 之间。 以下操作重复 $K$ 次: - 选择一个 $1$ 到 $M$ 之间的整数,将其加入 $A$。然后,从 $A$ 中删除第 $X$ 小的元素(即将 $A$ 按非降序排列后,从前往后数第 $X$ 个元素)。 选择 $K$ 次要加入 $A$ 的数的方法共有 $M^K$ 种。对于每一种方法,操作结束后 $A$ 的元素总和是多少?请计算所有 $M^K$ 种情况的 $A$ 的元素总和之和,并对 $998244353$ 取模。

输入格式

输入为一行,包含 $N$、$M$、$K$、$X$ 以及 $A_1$、$A_2$、$\dots$、$A_N$,用空格分隔。

输出格式

输出答案。

说明/提示

## 限制条件 - $1\leq N,M,K\leq 2000$ - $1\leq X\leq N+1$ - $1\leq A_i\leq M$ - 输入均为整数。 ## 样例解释 1 初始时 $A=\{1,3\}$。操作的例子如下: - 向 $A$ 中加入 $4$,此时 $A=\{1,3,4\}$。删除 $A$ 中第 $1$ 小的元素,$A=\{3,4\}$。 - 向 $A$ 中加入 $3$,此时 $A=\{1,3,3\}$。删除 $A$ 中第 $1$ 小的元素,$A=\{3,3\}$。 在这种情况下,操作结束后 $A$ 的元素总和为 $3+4=7$。 由 ChatGPT 4.1 翻译