問題一覧 > 通常問題

No.2176 LRM Question 1

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 105
作問者 : MasKoaTSMasKoaTS / テスター : koboshikoboshi potato167potato167
2 ProblemId : 8459 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2023-01-06 17:33:47

問題文

正整数 $L, R, M$ が与えられます。次の値を $M$ で割った余りを求めてください。

  $\displaystyle \sum_{n=L}^{R} \left( \prod_{i=1}^{n} \left( \prod_{j=1}^{i} j \right) \right)$

> $\sum, \prod$ の定義(クリックで展開)

任意の長さ $n$ の数列 $a = ( a_{1}, a_{2}, \dots, a_{n} )$ に対して、$\displaystyle \sum_{i=l}^{r} a_{i}$ 及び $\displaystyle \prod_{i=l}^{r} a_{i}$ は次のように定義されます。

  • $\displaystyle \sum_{i=l}^{r} a_{i} = a_{l} + a_{l+1} + \cdots + a_{r}$

  • $\displaystyle \prod_{i=l}^{r} a_{i} = a_{l} \times a_{l+1} \times \cdots \times a_{r}$

ただし、$n,l,r$ はいずれも $1 \leq l \leq r \leq n$ を満たす整数とします。

制約

  • $1 \leq L \leq R \leq 10^{18}$

  • $1 \leq M \leq 10^{6}$

  • 入力はすべて整数

入力

入力は次の形式で与えられます。

$L$ $R$ $M$
  • $1$ 行目には $L, R, M$ がこの順に半角スペース区切りで与えられる

出力

答えを $1$ 行に出力してください。

サンプル

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

$\displaystyle f(L,R) = \sum_{n=L}^{R} \left( \prod_{i=1}^{n} \left( \prod_{j=1}^{i} j \right) \right)$, $\displaystyle i! = \prod_{j=1}^{i} j$ とすると、

$f(3,5) = (1!)(2!)(3!) + (1!)(2!)(3!)(4!) + (1!)(2!)(3!)(4!)(5!)$ であり、

  • $1! = 1$

  • $2! = 1 \times 2 = 2$

  • $3! = 1 \times 2 \times 3 = 6$

  • $4! = 1 \times 2 \times 3 \times 4 = 24$

  • $5! = 1 \times 2 \times 3 \times 4 \times 5 = 120$

なので、$f(3,5) = 1 \times 2 \times 6 + 1 \times 2 \times 6 \times 24 + 1 \times 2 \times 6 \times 24 \times 120 = 34860$ です。
これを $8$ で割った余りは $4$ となります。

サンプル2
入力
2 2 2
出力
0

$f(2,2) = 2! = 2$ であり、これは $2$ で割り切れます。

サンプル3
入力
1 1000000000000000000 1000000
出力
6063

$f(L,R)$ の値は非常に大きくなる可能性があります。

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