#ATarc156b. [ARC156B] Mex on Blackboard

[ARC156B] Mex on Blackboard

题目描述

对于由有限个非负整数组成的多重集 SS,定义 mex(S)\mathrm{mex}(S) 为不属于 SS 的最小非负整数。例如,mex({0,0,1,3})=2\mathrm{mex}(\lbrace 0,0,1,3\rbrace )=2mex({1})=0\mathrm{mex}(\lbrace 1 \rbrace)=0mex({})=0\mathrm{mex}(\lbrace \rbrace)=0

黑板上写有 NN 个非负整数,第 ii 个数为 AiA_i

你需要恰好进行 KK 次如下操作:

  • 从黑板上的非负整数中选出 00 个或多个,组成多重集 SS,然后将 mex(S)\mathrm{mex}(S) 写到黑板上 11 次。

请你求出,经过 KK 次操作后,黑板上可能出现的非负整数多重集的种数,结果对 998244353998244353 取模。

输入格式

输入以以下格式从标准输入给出。

NN KK A1A_1 A2A_2 \ldots ANA_N

输出格式

请输出答案。

样例 1

输入

3 1
0 1 3

输出

3

样例 2

输入

2 1
0 0

输出

2

样例 3

输入

5 10
3 1 4 1 5

输出

7109

说明/提示

限制条件

  • 1N,K2×1051 \leq N,K \leq 2\times 10^5
  • 0Ai2×1050 \leq A_i \leq 2\times 10^5
  • 输入的所有数均为整数

样例解释 1

操作后可能得到的多重集有以下 33 种:

  • {0,0,1,3}\lbrace 0,0,1,3 \rbrace
  • {0,1,1,3}\lbrace 0,1,1,3 \rbrace
  • {0,1,2,3}\lbrace 0,1,2,3 \rbrace

例如,{0,1,1,3}\lbrace 0,1,1,3 \rbrace 可以通过选择黑板上的 00,令 S={0}S=\lbrace 0\rbrace,然后进行操作得到。

样例解释 2

操作后可能得到的多重集有以下 22 种:

  • {0,0,0}\lbrace 0,0,0 \rbrace
  • {0,0,1}\lbrace 0,0,1 \rbrace

注意,操作时可以选择 00 个整数。

由 ChatGPT 4.1 翻译