結果

問題 No.1618 Convolution?
ユーザー publflpublfl
提出日時 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
権限があれば一括ダウンロードができます

ソースコード

diff #

#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);
	}
}
0