結果
問題 | No.1618 Convolution? |
ユーザー | publfl |
提出日時 | 2021-07-22 22:08:03 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 104 ms / 2,000 ms |
コード長 | 639 bytes |
コンパイル時間 | 189 ms |
コンパイル使用メモリ | 32,384 KB |
実行使用メモリ | 12,520 KB |
最終ジャッジ日時 | 2024-07-17 18:02:48 |
合計ジャッジ時間 | 5,602 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 15 |
ソースコード
#include <stdio.h> long long int x[200010],y[200010],x1[200010],y1[200010],x2[200010],y2[200010]; int main() { int a; scanf("%d",&a); for(int i=1;i<=a;i++) scanf("%lld",&x[i]); for(int i=1;i<=a;i++) x1[i] = x1[i-1] + x[i]; for(int i=1;i<=a;i++) x2[i] = x2[i-1] + i*x[i]; for(int i=1;i<=a;i++) scanf("%lld",&y[i]); for(int i=1;i<=a;i++) y1[i] = y1[i-1] + y[i]; for(int i=1;i<=a;i++) y2[i] = y2[i-1] + i*y[i]; for(int i=1;i<=2*a;i++) { int L = 1>i-a?1:i-a; int R = a<i-1?a:i-1; long long int s1 = i*(x1[R]-x1[L-1]) + i*(y1[R]-y1[L-1]); long long int s2 = (x2[R]-x2[L-1]) + (y2[R]-y2[L-1]); printf("%lld ",s1-s2); } }