2229: 奶牛吃糖
Description
约翰一共有 N 头奶牛,编号 1∼N,其中第 i 头奶牛的初始高度为 ai。约翰给奶牛们准备了 M 根拐杖糖,编号 1∼M,其中第 i 根的高度为 bi。约翰会按照糖果的编号顺序,每次拿出一根糖果喂给奶牛们,直到所有糖果都被喂完为止。
每当拿出一根糖果后,约翰会将其上端固定悬挂,下端自由下垂至刚好接触地面。然后,奶牛们按照编号顺序,依次走到糖果面前,将糖果自下而上的啃食至自己的高度(因为更高的地方吃不到了)。
由于糖果上端是固定的,所以即使奶牛吃掉糖果的下端部分,糖果也会悬挂在最初设置的位置,不会下降至地面。当轮到一个奶牛时,如果糖果剩余部分的底部高度已经超过了该奶牛的高度,那么它将什么都吃不到。
在所有奶牛都轮过一次后,不论这根糖果是否被吃完,该糖果都会被约翰扔掉,并换上下一根糖果,继续下一轮次的吃糖(仍然从编号为 1 的奶牛开始)。
另外,每轮过后,糖果都有可能令奶牛们的身高有所增长,具体为一头奶牛在本轮次吃掉了多少长度的糖果,其身高就会增高多少长度。请你计算,当所有糖果都喂食完毕后,每头奶牛的最终高度。
Input
第一行包含两个整数 N,M。
第二行包含 N 个整数a1,a2,…,aN。
第三行包含 M 个整数 b1,b2,…,bM。
Output
共 N 行,其中第 i 行输出第 i 头奶牛的最终高度。
Sample Input Copy
3 2
3 2 5
6 1
Sample Output Copy
7
2
7
HINT
数据范围:1≤N,M≤2×105, 1≤ai,bi≤109。
样例说明:
第 1 根糖果的高度为 6:
第 1 头牛吃掉高度不超过 3 的部分,糖果剩余部分高度[3,6]。
第 2 头牛不够高,吃不到任何糖果。
第 3 头牛吃掉高度不超过 5 的部分,糖果剩余部分高度 [5,6]。
第 1 根糖果喂完,奶牛们的高度变为 [3+3,2+0,5+2]=[6,2,7]。
第 2 根糖果的高度为 1,会被第 1 头奶牛全部吃掉。
所以,最终奶牛们的高度变为[7,2,7]。