結果
問題 |
No.978 Fibonacci Convolution Easy
|
ユーザー |
![]() |
提出日時 | 2023-01-28 16:58:02 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 148 ms / 2,000 ms |
コード長 | 455 bytes |
コンパイル時間 | 287 ms |
コンパイル使用メモリ | 82,048 KB |
実行使用メモリ | 107,136 KB |
最終ジャッジ日時 | 2024-06-28 19:59:34 |
合計ジャッジ時間 | 3,365 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 21 |
ソースコード
N, p = map(int, input().split()) mod = 10 ** 9 + 7 P = [1] * (N + 1) for i in range(N): P[i + 1] = P[i] * p P[i + 1] %= mod invp = pow(p-1, mod-2, mod) ans = 0 A = [0] * (N + 1) A[1] = 1 for i in range(2, N + 1): A[i] = p * A[i - 1] + A[i - 2] A[i] %= mod Ac = [0] * (N + 1) Ac[0] = A[0] for i in range(1, N + 1): Ac[i] = Ac[i - 1] + A[i] Ac[i] %= mod for i in range(1, N): ans += A[i] * Ac[i] ans %= mod print(ans)