結果
問題 | No.978 Fibonacci Convolution Easy |
ユーザー |
![]() |
提出日時 | 2021-11-25 21:11:06 |
言語 | D (dmd 2.109.1) |
結果 |
AC
|
実行時間 | 55 ms / 2,000 ms |
コード長 | 421 bytes |
コンパイル時間 | 2,131 ms |
コンパイル使用メモリ | 207,340 KB |
実行使用メモリ | 36,680 KB |
最終ジャッジ日時 | 2024-06-22 13:29:13 |
合計ジャッジ時間 | 3,480 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 21 |
ソースコード
import std; void main() { long N, p; readf("%d %d\n", N, p); enum long M = 10 ^^ 9 + 7; auto a = new long[](N+1); if (N >= 2) { a[2] = 1; } foreach (i; 3 .. N+1) { a[i] = (p * a[i-1] + a[i-2]) % M; } auto b = a.cumulativeFold!((a, b) => (a + b) % M).array; long res; foreach (i; 1 .. N+1) { res = (res + a[i] * b[i]) % M; } res.writeln; }