L - Mex on Blackboard 2
Editorial
/
Time Limit: 2 sec / Memory Limit: 1024 MB
配点 : 500 点
問題文
有限個の非負整数からなる多重集合 S に対して、\operatorname{mex}(S) を S に含まれない最小の非負整数と定義します。例えば、\operatorname{mex}(\lbrace 0,0,1,3 \rbrace)=2,\operatorname{mex}(\lbrace 1 \rbrace)=0,\operatorname{mex}(\lbrace\rbrace)=0 です。
黒板に長さ N の非負整数列 A=(A_1,A_2,\ldots,A_N) が書かれています。
あなたは、以下の操作をちょうど K 回行います。
- A の中から非負整数を 0 個以上選ぶ。選んだ非負整数からなる多重集合を S として、\operatorname{mex}(S) を A の後ろに追加する。
最終的に黒板に書かれている非負整数列 A としてありうるものの個数を 998244353 で割ったあまりを求めてください。
制約
- 1 \leq N, K \leq 2000
- 0 \leq A_i \leq 2000
- 入力される数値は全て整数
入力
入力は以下の形式で標準入力から与えられます。
N K A_1 A_2 \dots A_N
出力
答えを一行に出力してください。
入力例 1
3 1 0 1 3
出力例 1
3
操作後に得られる数列は、以下の 3 通りです。
- (0,1,3,0)
- (0,1,3,1)
- (0,1,3,2)
入力例 2
5 10 3 1 4 1 5
出力例 2
14476910