結果
問題 | No.1618 Convolution? |
ユーザー | だれ |
提出日時 | 2021-07-10 14:09:17 |
言語 | C (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 110 ms / 2,000 ms |
コード長 | 660 bytes |
コンパイル時間 | 124 ms |
コンパイル使用メモリ | 30,080 KB |
実行使用メモリ | 8,064 KB |
最終ジャッジ日時 | 2024-07-17 15:52:36 |
合計ジャッジ時間 | 5,325 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 15 |
ソースコード
#include <stdio.h> long long n; long long a[200010], b[200010]; long long c[400010]; int main(){ scanf("%lld", &n); for (int i = 0; i < n; i++){ scanf("%lld", a + i); } for (int i = 0; i < n; i++){ scanf("%lld", b + i); } long long sum = a[0] + b[0]; for (int i = 1; i < 2 * n; i++){ c[i] += c[i - 1] + sum; if (i < n) sum += a[i] + b[i]; else{ sum -= a[i - n] + b[i - n]; if (i + 1 < 2 * n) c[i + 1] -= (a[i - n] + b[i - n]) * n; } } for (int i = 0; i < 2 * n; i++){ printf("%lld", c[i]); printf((i == 2 * n - 1? "\n": " ")); } }