atcoder#ARC156B. [ARC156B] Mex on Blackboard

[ARC156B] Mex on Blackboard

题目描述

有限個の非負整数からなる多重集合 S S にたいして、mex(S) \mathrm{mex}(S) を、S S に含まれない最小の非負整数と定義します。例えば、$ \mathrm{mex}(\lbrace\ 0,0,\ 1,3\rbrace\ )\ =\ 2,\ \mathrm{mex}(\lbrace\ 1\ \rbrace)\ =\ 0,\ \mathrm{mex}(\lbrace\ \rbrace)\ =\ 0 $ です。

黒板に N N 個の非負整数が書かれており、i i 番目の非負整数は Ai A_i です。

あなたは、以下の操作をちょうど K K 回行います。

  • 黒板に書かれている非負整数を 0 0 個以上選ぶ。選んだ非負整数からなる多重集合を S S として、mex(S) \mathrm{mex}(S) を黒板に 1 1 個書き込む。

最終的に黒板に書かれている非負整数の多重集合としてありうるものの個数を 998244353 998244353 で割ったあまりを求めてください。

输入格式

入力は以下の形式で標準入力から与えられる。

N N K K A1 A_1 A2 A_2 \ldots AN A_N

输出格式

答えを出力せよ。

题目大意

你有一个大小为 NN 的多重集 AA

你需要执行 KK 次操作,每次选取 SAS \subseteq A,然后在 AA 中插入 mex(S)\mathrm{mex}(S),表示 SS 内最小没有出现过的自然数。

问最终 AA 有多少种可能的结果。答案对 998244353998244353 取模。

3 1
0 1 3
3
2 1
0 0
2
5 10
3 1 4 1 5
7109

提示

制約

  • 1  N,K  2× 105 1\ \leq\ N,K\ \leq\ 2\times\ 10^5
  • 0 Ai 2× 105 0\leq\ A_i\leq\ 2\times\ 10^5
  • 入力される数値は全て整数

Sample Explanation 1

操作後に得られる多重集合は、以下の 3 3 通りです。 - { 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 は黒板に書かれている 0 0 を選び、S={ 0} S=\lbrace\ 0\rbrace として操作をすることで得られます。

Sample Explanation 2

操作後に得られる多重集合は、以下の 2 2 通りです。 - { 0,0,0 } \lbrace\ 0,0,0\ \rbrace - { 0,0,1} \lbrace\ 0,0,1\rbrace 操作で選ぶ整数は 0 0 個でも良いことに注意してください。