atcoder#ARC120F2. [ARC120F2] Wine Thief

[ARC120F2] Wine Thief

配点 : 800800

問題文

問題 F と問題 F2 は同じ問題ですが、制約と実行時間制限が異なります。

高橋君の倉庫には NN 本のワインがあり、左右方向 11 列に並んでいます。左から ii 番目のワインの美味しさは AiA_i です。 青木君は今からこの NN 本のうち、ちょうど KK 本を選んで盗みます。しかし、高橋君は注意深いので、以下の条件が満たされると盗まれたことに気付いてしまいます。

  • 連続で並ぶ DD 本のワインであって、そのうち 22 本以上盗まれているようなものが存在する

高橋君に気付かれないような全ての盗み方について、盗んだワインの美味しさの和を求め、それを足し合わせた値を求めてください。 なお、答えは非常に大きくなることがあるので、998244353998244353 で割った余りを出力してください。

制約

  • 2DN1062 \le D \le N \le 10^6
  • 1KND1 \le K \le \left\lceil \frac{N}{D} \right\rceilx\left\lceil x \right\rceilxx 以上の最小の整数を表す)
  • 1Ai<9982443531 \le A_i \lt 998244353
  • 入力に含まれる値は全て整数

入力

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

NN KK DD

A1A_1 A2A_2 A3A_3 \dots ANA_N

出力

答えを 998244353998244353 で割った余りを出力せよ。

4 2 2
1 4 2 3
14

盗み方と盗んだワインの美味しさの和は以下の通りです。

  • 左から 11 本目のワインと 33 本目のワインを盗んだ場合 : 美味しさの和は 1+2=31 + 2 = 3
  • 左から 11 本目のワインと 44 本目のワインを盗んだ場合 : 美味しさの和は 1+3=41 + 3 = 4
  • 左から 22 本目のワインと 44 本目のワインを盗んだ場合 : 美味しさの和は 4+3=74 + 3 = 7

よって答えは 3+4+7=143 + 4 + 7 = 14 となります。

5 2 3
1 5 7 7 3
20

盗み方と盗んだワインの美味しさの和は以下の通りです。

  • 左から 11 本目のワインと 44 本目のワインを盗んだ場合 : 美味しさの和は 1+7=81 + 7 = 8
  • 左から 11 本目のワインと 55 本目のワインを盗んだ場合 : 美味しさの和は 1+3=41 + 3 = 4
  • 左から 22 本目のワインと 55 本目のワインを盗んだ場合 : 美味しさの和は 5+3=85 + 3 = 8
18 4 4
107367523 266126484 149762920 57456082 857431610 400422663 768881284 494753774 152155823 740238343 871191740 450057094 208762450 787961742 90197530 77329823 193815114 707323467
228955567