問題一覧 > 通常問題

No.2580 Hyperinflation

レベル : / 実行時間制限 : 1ケース 4.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 14
作問者 : akakimidori / テスター : noshi91
3 ProblemId : 8975 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2023-03-29 03:05:09

問題文

長さ N1N-1 の整数列 A=(A1,,AN1)A = (A_1, \ldots, A_{N - 1}) が与えられます。

長さ NN の整数列 B=(B0,B1,,BN1)B = (B_0, B_1, \ldots, B_{N - 1})B0=1,Bi=AiBi1(1i<N)B_0 = 1, B_i = A_iB_{i - 1} (1 \leq i < N) と定義します。

整数 MM が与えられるので以下の式を満たすような長さ NN の非負整数列 C=(C0,C1,,CN1)C = (C_0, C_1, \ldots, C_{N - 1}) の個数を求めてください。 i=0N1BiCi=M \displaystyle \sum_{i = 0}^{N-1} B_i C_i = M 答えは非常に大きくなりうるので 998244353998244353 で割った余りを求めてください。

入力

NN
A1  AN1A_1\ \cdots\ A_{N - 1}
MM

  • 1N20001 \leq N \leq 2000
  • 2Ai2000(1i<N)2 \leq A_i \leq 2000 (1 \leq i < N)
  • 1M<1070001 \leq M < 10^{7000}
  • 入力は全て整数

出力

答えを 998244353998244353 で割ったあまりを出力してください。最後に改行してください。

サンプル

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

B=(1,2,4)B = (1, 2, 4) となります。条件を満たす CC(1,0,1),(1,2,0),(3,1,0),(5,0,0)(1, 0, 1), (1, 2, 0), (3, 1, 0), (5, 0, 0)44 通りあります。

サンプル2
入力
1

13
出力
1

空の行が含まれうることに注意してください

サンプル3
入力
7
6 2 8 5 8 2
866311
出力
770044952

998244353998244353 で割ったあまりを出力してください。

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