题目描述
给定一个长度为 n 的数列 a1,a2,…,an,以及一个长度为 m(m≤n) 的数列 b1,b2,…,bm。
你需要对数列 a 进行 n−m+1 轮操作:第 i 轮操作,你需要选择从 ai 开始的连续 m 个数,并将每个元素加上数列 b 上对应元素的数值。
更具体一点地说:
- 第 1 轮:你需要将 a1 加上 b1(a1←a1+b1),将 a2 加上 b2(a2←a2+b2),……,将 am 加上 bm(am←am+bm)
- 第 2 轮:你需要将 a2 加上 b1(a2←a2+b1),将 a3 加上 b2(a3←a3+b2),……,将 am+1 加上 bm(am+1←am+1+bm)
- 第 3 轮:你需要将 a3 加上 b1(a3←a3+b1),将 a4 加上 b2(a4←a4+b2),……,将 am+2 加上 bm(am+2←am+2+bm)
- ……
- 第 n+m−1 轮:你需要将 an−m+1 加上 b1(an−m+1←a1+b1),将 an−m+2 加上 b2(an−m+2←a2+b2),……,将 an 加上 bm(an←am+bm)
输出进行完上述 n−m+1 轮操作之后的数列 a。
输入格式
第一行,两个整数 n 和 m(1≤m≤n≤2⋅105)。
第二行,n 个整数 a1,a2,…,an(1≤ai≤109)。
第三行,m 个整数 b1,b2,…,bm(1≤bi≤109)。
输出格式
输出共一行,包含 n 个整数,两两之间以一个空格分隔,表示执行完上述 n−m+1 轮操作之后的数列 a。
6 2
1 1 1 1 1 1
1 1
2 3 3 3 3 2
8 5
1 2 3 4 5 6 7 8
1 2 3 4 5
2 5 9 14 19 18 16 13
说明/提示
数据规模与约定
- 对于 30% 的数据,m≤n≤20;ai,bi≤103
- 对于 60% 的数据,m≤n≤2000;ai,bi≤106
- 对于 100% 的数据,1≤m≤n≤2⋅105;1≤ai,bi≤109