問題一覧 > 通常問題

No.2635 MST on Line++ 2

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 14
作問者 : 👑 potato167 / テスター : ebi_fly noya2
2 ProblemId : 10668 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2024-02-16 00:25:25

問題文

正整数 N,KN,K と長さ NN の正整数列 A=(A1,A2,,AN)A=(A_{1},A_{2},\dots,A_{N}) が与えられます。

(1,2,,N)(1,2,\dots ,N) の順列 P=(P1,P2,,PN)P=(P_{1},P_{2},\dots ,P_{N}) に対して以下の「問題 MST on Line 2」について考え、その答えを f(P)f(P) と書きます。

問題 MST on Line 2

頂点に 11 から NN までの番号がついた頂点数 NN の重み付き無向グラフ GG があります。GG について 1i<jN1\leq i\lt j\leq N を満たす任意の整数の組 (i,j)(i,j) に対して以下が成り立ちます。

  • jiKj-i\leq K ならば頂点 ii と頂点 jj の間に辺が存在して、その辺の重みは min(APi,APj)\min(A_{P_{i}},A_{P_{j}})
  • ji>Kj-i\gt K ならば頂点 ii と頂点 jj の間に辺は存在しない

GG の最小全域木の辺の重みの和を求めてください。

全ての (1,2,,N)(1,2,\dots ,N) の順列 P=(P1,P2,,PN)P=(P_{1},P_{2},\dots ,P_{N}) に対する f(P)f(P) の総和を 998244353998244353 で割ったあまりを求めてください。

制約

  • 1K<N1\leq K\lt N\leq 2×1052\times 10^{5}
  • 1Ai1091\leq A_{i}\leq 10^{9}
  • 入力は全て整数

入力

NN KK
A1A_{1} A2A_{2} \cdots ANA_{N}

出力

答えを出力してください。

サンプル

サンプル1
入力
5 2
3 4 5 2 1
出力
648

サンプル2
入力
2 1
924 167
出力
334
サンプル3
入力
12 9
22847 98332 854 68844 81080 46058 40949 62493 76561 52907 88628 99740
出力
475260609
サンプル4
入力
17 3
20508 7568 87729 35274 46341 50587 23669 42805 25381 3806 28055 80697 94519 33016 90880 370 81146
出力
92588775

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。