問題一覧 >
通常問題
No.2793 Mancala Master
レベル :
/ 実行時間制限 : 1ケース 2.000秒 / メモリ制限
: 512 MB / 標準ジャッジ問題
タグ :
/
解いたユーザー数 19
作問者 :
箱星
/ テスター :
dadas
問題文最終更新日: 2024-06-23 08:40:59
問題文
正整数列 A=(A1,…,AN) と正整数 K が与えられます。
小星さんは次のようなゲームを行います。はじめスコアは 1 とし、i=1,2,…,N に対して座標 i に石を Ai 個置きます。
i=N,N−1,…,1 の順に次の操作を行います。
-
座標 i にあるすべての石を座標 0,1,…,i−1 のいずれかに動かす。座標 j に動かす石の個数を cj とするとき、スコアに f(c0)f(c1)⋯f(ci−1) をかける。ここで
f(m)={Km−Km−11(m>0)(m=0)
である。
可能な操作方法すべてについての最終的なスコアの総和を 998244353 で割った余りを求めてください。
T 個のテストケースが与えられるので、それぞれについて答えてください。
制約
- 1≤T≤105
- 1≤N≤2×105
- 1≤Ai<998244353
- 2≤K<998244353
- 入力はすべて整数
- 1 つの入力に含まれるテストケースについて、N の総和は 2×105 以下
入力
入力は以下の形式で標準入力から与えられます。
T
case1
⋮
caseT
各ケースは以下の形式で与えられます。
N K
A1 A2 ⋯ AN
出力
T 行出力してください。i 行目には i 番目のテストケースに対する答えを出力してください。
サンプル
サンプル1
入力
1
2 10
1 2
出力
89100
まず座標 2 にある 2 個の石を動かします。
- 2 個とも座標 0 に動かしたとき、スコアに 102−10=90 をかけます。次に座標 1 にある 1 個の石を座標 0 に動かし、スコアに 10−1=9 をかけます。
- 2 個とも座標 1 に動かしたとき、スコアに 102−10=90 をかけます。次に座標 1 にある 3 個の石を座標 0 に動かし、スコアに 103−102=900 をかけます。
- 1 個ずつ座標 0,1 に動かしたとき、スコアに (10−1)(10−1)=81 をかけます。次に座標 1 にある 2 個の石を座標 0 に動かし、スコアに 102−10=90 をかけます。
よってスコアの総和は 90×9+90×900+81×90=89100 です。
サンプル2
入力
2
1 2
3
3 3281572
842184 12484 58238890
出力
4
724046312
998244353 で割った余りを求めてください。
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。