結果
問題 |
No.754 畳み込みの和
|
ユーザー |
![]() |
提出日時 | 2025-03-20 21:06:02 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 85 ms / 5,000 ms |
コード長 | 644 bytes |
コンパイル時間 | 166 ms |
コンパイル使用メモリ | 82,384 KB |
実行使用メモリ | 107,932 KB |
最終ジャッジ日時 | 2025-03-20 21:06:16 |
合計ジャッジ時間 | 999 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 3 |
ソースコード
import sys MOD = 10**9 + 7 def main(): data = list(map(int, sys.stdin.read().split())) ptr = 0 n = data[ptr] ptr += 1 a = data[ptr:ptr + n + 1] ptr += n + 1 b = data[ptr:ptr + n + 1] ptr += n + 1 if n == 0: print((a[0] * b[0]) % MOD) return # Compute prefix sum of b s = [0] * (n + 1) s[0] = b[0] % MOD for i in range(1, n + 1): s[i] = (s[i - 1] + b[i]) % MOD total = 0 for p in range(n + 1): k = n - p sum_b = s[k] total = (total + a[p] * sum_b) % MOD print(total % MOD) if __name__ == '__main__': main()