問題一覧 > 通常問題

No.2313 Product of Subsequence (hard)

レベル : / 実行時間制限 : 1ケース 4.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 18
作問者 : とりゐ / テスター : 遭難者
1 ProblemId : 9665 / 自分の提出
問題文最終更新日: 2023-05-24 21:33:13

問題文

長さ NN の正整数列 AA が与えられます.空でない AA の部分列は 2N12^N-1 個ありますが,そのうち全要素の積が KK の倍数であるようなものはいくつありますか.998244353998244353 で割った余りを出力してください.

入力

N KN\ K
A1 A2  ANA_1\ A_2\ \cdots\ A_N

  • 1N3×1051\leq N\leq 3\times 10^5
  • 1K1091\leq K\leq 10^{9}
  • 1Ai10181\leq A_i\leq 10^{18}
  • 入力は全て整数である.

出力

積が KK の倍数であるような空でない部分列の個数を 998244353998244353 で割った余りを出力してください.

サンプル

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

全要素の積が 44 の倍数であるような空でない部分列は (4),(2,4),(2,6),(4,6),(2,4,6)(4),(2,4),(2,6),(4,6),(2,4,6)55 つです.

サンプル2
入力
4 6
2 2 3 3
出力
9

全要素の積が 66 の倍数であるような空でない部分列は (2,3)(2,3)44 つ,(2,2,3)(2,2,3)22 つ,(2,3,3)(2,3,3)22 つ,(2,2,3,3)(2,2,3,3)11 つです.

サンプル3
入力
20 360
678 545 651 790 694 268 851 318 295 814 359 941 504 592 378 874 989 522 571 724
出力
855936

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