O - Decode

解説を見る
  • 実行時間制限:2000 ms
  • メモリ制限:1073741824 Bytes
  • 配点:100
  • ジャッジ:Batch

問題文

正整数 N,M,KN,M,K および長さ NN の正整数列 A=(A1,A2,,AN)A=(A_1,A_2,…,A_N) が与えられます.
ここで,「 11 以上 NN 以下の整数 ii について,AiA_iA1A_1 から AiA_i までの ii 個の数の総和に更新することを同時に行う」という操作を Imos操作 と名付けます.
KK 回Imos操作を行うことで数列 AA と一致するような数列を P=(P1,P2,,PN)P=(P_1,P_2,…,P_N) としたとき,PMxP_M-x998244353998244353 の倍数となるような 00 以上 998244353998244353 未満の整数 xx を求めてください.
ただし,条件を満たす数列 PP11 つしか存在しないことが保証されます.

制約

  • 入力はすべて整数
  • 1N21051 \leq N \leq 2 \cdot 10^5
  • 1MN1 \leq M \leq N
  • 1K21051 \leq K \leq 2 \cdot 10^5
  • 1Ai21051 \leq A_i \leq 2 \cdot 10^5

小課題

  1. (40点) K=1K=1
  2. (60点) 追加の制約はない

入力

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

N M KN~M~K
A1 A2 ... ANA_1~A_2~...~A_N

出力

求めるべき数列を P=(P1,P2,,PN)P=(P_1,P_2,…,P_N) としたとき,PMxP_M-x998244353998244353 の倍数となるような 00 以上 998244353998244353 未満の整数 xx を出力せよ.

入力例1

5 3 1
3 1 4 1 5

出力例1

3

数列 PP(3,2,3,3,4)(3,-2,3,-3,4) とすると,Imos操作を 11 回行ったときに (3,1,4,1,5)(3,1,4,1,5) となることが分かるので,出力するべきは 33 です.
この入力例はすべての小課題の制約を満たします.

入力例2

8 7 5
2 7 1 8 2 8 1 8

出力例2

998244252

数列 PP(2,3,14,53,88,101,101,102)(2,-3,-14,53,-88,101,-101,102) とすると,Imos操作を 55 回行ったときに (2,7,1,8,2,8,1,8)(2,7,1,8,2,8,1,8) となることが分かるので,出力するべきは 998244252998244252 です.
この入力例は小課題2の制約を満たします.