問題一覧 > 通常問題

No.2506 Sum of Weighted Powers

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 12
作問者 : suisensuisen / テスター : 👑 emthrmemthrm torisasami4torisasami4 rniyarniya
2 ProblemId : 9372 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2023-07-13 19:26:13

問題文

長さ $n + 1$ の整数列 $A = (A _ 0, A _ 1, \ldots, A _ n),\ B = (B _ 0, B _ 1, \ldots, B _ n),\ C = (C _ 0, C _ 1, \ldots, C _ n)$ と整数 $x$ が与えられます。

整数の組 $(i, j, k)$ であって、以下の条件を全て満たすもの全体の集合を $\Lambda _ n$ とします。

  • $0 \leq i\leq n$
  • $0 \leq j\leq n$
  • $0 \leq k\leq n$
  • $i = j + k$

以下で定義される整数 $S$ を $\mathbf{\color{red}{943718401}}$ で割った余りを求めてください。

$$S \coloneqq \sum _ {(i, j, k) \in \Lambda _ n} A _ i B _ j C _ k x ^ {ijk}.$$

ただし、本問題では $0 ^ 0 = 1$ と定義します。

入力

入力は標準入力から以下の形式で与えられます。

$n\ x$
$\begin{alignedat}{4}
&A_0 &\ & A_1 &\ & \cdots &\ & A_n \newline
&B_0 &\ & B_1 &\ & \cdots &\ & B_n \newline
&C_0 &\ & C_1 &\ & \cdots &\ & C_n \newline
\end{alignedat}$
  • 入力は全て整数で与えられる。
  • $0\leq n\leq 2 \times 10 ^ 5$
  • $0\leq x\lt 943718401$
  • $0\leq A_i\lt 943718401$
  • $0\leq B_i\lt 943718401$
  • $0\leq C_i\lt 943718401$

出力

$1$ 行目に $S$ を $\mathbf{\color{red}{943718401}}$ で割った余りを出力してください。最後に改行してください。

通常とは異なる mod に注意してください

サンプル

サンプル1
入力
2 6
1 2 3
4 5 6
7 8 9
出力
4716

この入力は $n = 2,\ x = 6,\ A = (1,2,3),\ B = (4,5,6),\ C = (7,8,9)$ を表します。

$n = 2$ なので、$\Lambda _ n = \lbrace (0,0,0),(1,0,1),(1,1,0),(2,0,2),(2,1,1),(2,2,0) \rbrace$ です。各 $(i, j, k)\in \Lambda _ n$ に対して $A _ i B _ j C _ k x ^ {ijk}$ は次のように計算されます。

  • $(i,j,k)=(0,0,0)$ に対し $A _ 0 B _ 0 C _ 0 x ^ {0\cdot 0\cdot 0} = 1\cdot 4\cdot 7 \cdot 6 ^ 0 = 28$
  • $(i,j,k)=(1,0,1)$ に対し $A _ 1 B _ 0 C _ 1 x ^ {1\cdot 0\cdot 1} = 2\cdot 4\cdot 8 \cdot 6 ^ 0 = 64$
  • $(i,j,k)=(1,1,0)$ に対し $A _ 1 B _ 1 C _ 0 x ^ {1\cdot 1\cdot 0} = 2\cdot 5\cdot 7 \cdot 6 ^ 0 = 70$
  • $(i,j,k)=(2,0,2)$ に対し $A _ 2 B _ 0 C _ 2 x ^ {2\cdot 0\cdot 2} = 3\cdot 4\cdot 9 \cdot 6 ^ 0 = 108$
  • $(i,j,k)=(2,1,1)$ に対し $A _ 2 B _ 1 C _ 1 x ^ {2\cdot 1\cdot 1} = 3\cdot 5\cdot 8 \cdot 6 ^ 2 = 4320$
  • $(i,j,k)=(2,2,0)$ に対し $A _ 2 B _ 2 C _ 0 x ^ {2\cdot 2\cdot 0} = 3\cdot 6\cdot 7 \cdot 6 ^ 0 = 126$

従って、$S = 28 + 64 + 70 + 108 + 4320 + 126 = 4716$ です。

サンプル2
入力
6 8
3 1 4 1 5 9 2
6 5 3 5 8 9 7
9 3 2 3 8 4 6
出力
577188643

$S = 175381980539324232634621556894490491241691423184779$ ですが、$S$ を $\mathbf{\color{red}{943718401}}$ で割った余りである $577188643$ を出力する必要があります。

サンプル3
入力
0 10
10
10
10
出力
1000

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