当编号为 i
的人到来时,对所有已成年者的操作等价于:
把他们的当前宝石 x
统一替换为 max(0, x - i)
,而 i 的总收入就是 sum min(i, x)
。
按成年时间升序记为 p1, p2, …, pn
(对应原编号 id[t]
),并定义:
在遥远的 Tk 国有 n 名未成年人(编号为 1 ~ n ),他们每个人初始有 ai 颗宝石,每个人 bi 年后成年(题目保证 bi 互不相同),编号为 i 的人成年时,所有已经成年的人都要给这位刚成年的人 i 颗宝石(即这个人编号数量的宝石,如果不够 i 颗将给出自己全部的宝石),请出所有人都成年之后每个人的宝石数量。
第一行输入一个整数 n(1≦n≦2×105) 表示未成年人数。
第二行输入 n 个整数 ai(1≦ai≦109) 表示每个人初始拥有的宝石。
第三行输入 n 个整数 bi(2≦bi≦109) 表元每个人距离成年的时间。
输出一行 n 个数按照编号从小到大的顺序表示所有人都成年后的每个人的宝石数。
输入
3
1 3 8
4 2 3
输出
2 0 10