#ATarc139d. [ARC139D] Priority Queue 2

[ARC139D] Priority Queue 2

题目描述

给定一个包含 NN 个元素的整数多重集合 A={ A1,A2,,AN }A=\lbrace\ A_1,A_2,\ldots,A_N\ \rbrace。保证 AA 的所有元素都在 11MM 之间。

以下操作重复 KK 次:

  • 选择一个 11MM 之间的整数,将其加入 AA。然后,从 AA 中删除第 XX 小的元素(即将 AA 按非降序排列后,从前往后数第 XX 个元素)。

选择 KK 次要加入 AA 的数的方法共有 MKM^K 种。对于每一种方法,操作结束后 AA 的元素总和是多少?请计算所有 MKM^K 种情况的 AA 的元素总和之和,并对 998244353998244353 取模。

输入格式

输入为一行,包含 NNMMKKXX 以及 A1A_1A2A_2\dotsANA_N,用空格分隔。

输出格式

输出答案。

样例 1

输入

2 4 2 1
1 3

输出

99

样例 2

输入

5 9 6 3
3 7 1 9 9

输出

15411789

说明/提示

限制条件

  • 1N,M,K20001\leq N,M,K\leq 2000
  • 1XN+11\leq X\leq N+1
  • 1AiM1\leq A_i\leq M
  • 输入均为整数。

样例解释 1

初始时 A={1,3}A=\{1,3\}。操作的例子如下:

  • AA 中加入 44,此时 A={1,3,4}A=\{1,3,4\}。删除 AA 中第 11 小的元素,A={3,4}A=\{3,4\}
  • AA 中加入 33,此时 A={1,3,3}A=\{1,3,3\}。删除 AA 中第 11 小的元素,A={3,3}A=\{3,3\}

在这种情况下,操作结束后 AA 的元素总和为 3+4=73+4=7

由 ChatGPT 4.1 翻译