P10257: 拐杖糖

传统题
1.000s 时间限制
128MB 内存限制
22 提交
11 解决

【题目描述】
【题目描述】
    农夫约翰的奶牛很爱吃甜食,它们特别喜欢吃甘蔗糖!FJ有N头牛,每头牛都有一定的初始身高,他想喂它们M每根也有不同高度(1≤N,M≤2·10^5)。
 按照它们在输入中的顺序,FJ计划将甘蔗糖一根接一根地喂给奶牛。为了给奶牛喂甘蔗糖,他会把甘蔗糖挂起来,这样甘蔗糖一开始就刚好碰到地面。然后,奶牛将按照输入的顺序一头接一头地排队,走到甘蔗糖前,每头牛都吃到自己的高度(因为它们不能再高了)。即使在奶牛吃掉糖果棒的底部后,糖果棒也会悬挂在最初设置的位置,不会下降到地面。如果甘蔗的底部已经超过奶牛的高度,那么奶牛在轮到它的时候可能什么都不吃。轮到每头牛后,奶牛的身高会根据它们吃了多少单位的甘蔗糖而增加,农民约翰挂上下一根甘蔗糖,奶牛再次重复这个过程(第一头牛再次成为第一个开始吃下一根拐杖糖的人)。

【输入格式】
第一行包含N和M。
下一行包含了 N 头奶牛的初始高度,每个牛的高度都在 [1,109] 范围内。
下一行包含了M 个拐杖糖的高度,每个都在[1,109] 范围内。
【输出格式】
输出N个奶牛的最终高度。
注意,在这个问题中涉及的整数的大小可能需要使用64位整数数据类型(例如,在C / C++中的一个“long long”)。
【样例输入】
3 2
3 2 5
6 1
【样例输出】
7
2
7
【样例说明】
第一个拐杖糖高6个单位。
第一只奶牛吃了第一个拐杖糖的一部分,直到高度3之后,第一个拐杖糖的剩余部分高度为[3,6]。 第二只奶牛不够高,无法吃掉第一根拐杖糖的剩余部分。 第三只奶牛吃了第二根拐杖糖的两个额外单位。第一根拐杖糖的剩余部分,高度为[5,6],没有被吃掉。 接下来,每只奶牛都根据她吃的量生长,所以奶牛的高度变成[3+3,2+0,5+2]=[6,2,7]。 第二个拐杖糖是1单位高,第一只牛把它吃光了。
【输入】

第一行包含N和M。

下一行包含了 N 头奶牛的初始高度,每个牛的高度都在 [1,109] 范围内。

下一行包含了M 个拐杖糖的高度,每个都在[1,109] 范围内。

【输出】

输出N个奶牛的最终高度。

注意,在这个问题中涉及的整数的大小可能需要使用64位整数数据类型(例如,在C / C++中的一个“long long”)。

【样例输入】复制
3 2
3 2 5
6 1
【样例输出】 复制
7
2
7

题目类型~

USACO-202312-BRONE 

咻咻~

提交答案 状态