問題一覧 > 通常問題

No.931 Multiplicative Convolution

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 66
作問者 : risujiroh / テスター : pockyny
12 ProblemId : 3473 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2019-11-22 19:03:57

問題文

素数Pと整数列A1,A2,,AP1B1,B2,,BP1が与えられます.
整数列C1,C2,,CP1を求めてください.
ただし,
Ck=1i,j<Pk=(i×j)modPAiBj
とし,これを998244353で割った余りを出力してください.
(つまり,Cki×jPで割った余りがkとなるような全ての組(i,j)についてAiBjを足し合わせたものです.)

制約

2P99991
0Ai,Bi<998244353
・入力はすべて整数
Pは素数

入力

P
A1 A2  AP1
B1 B2  BP1

出力

C1,C2,,CP1998244353で割った余りを空白区切りで出力してください.
最後に改行してください。

サンプル

サンプル1
入力
3
1 2
3 4
出力
11 10

C1=A1B1+A2B2mod998244353=11
C2=A1B2+A2B1mod998244353=10
となります.

サンプル2
入力
11
2 3 5 8 1 3 2 1 3 4
5 5 8 9 1 4 4 2 3 3
出力
172 129 138 127 162 138 149 148 129 116

サンプル3
入力
2
8886
112339
出力
1

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