#197. 饮茶先啦

饮茶先啦

题目描述

茶叶国决定举办一次品茶大会。nn 名品茶师将品尝 nn 种茶叶。品茶师和茶叶的编号都是 1n1\sim n

ii 种茶叶初始时被冲泡成 aia_i 毫升的茶水。 第 jj 位品茶师一次能喝 bjb_j 毫升茶。

接下来是品茶的过程:

第一步:第 ii 名品茶师将品尝第 ii 种茶,他将会喝 min(ai,bi)\min{(a_i,b_i)} 毫升的茶水,然后 aia_i 也会减少该数字。

第二步:第 ii 名品茶师将品尝第 i1i-1 种茶,他将会喝 min(ai1,bi)\min{(a_{i-1},b_i)} 毫升的茶水,然后 ai1a_{i-1} 也会减少该数字。在此时,第 11 位品茶师将不会喝茶。

第三步:第 ii 名品茶师将品尝第 i2i-2 种茶,他将会喝 min(ai2,bi)\min{(a_{i-2},b_i)} 毫升的茶水,然后 ai2a_{i-2} 也会减少该数字。在此时,第 11 位与第 22 位品茶师将不会喝茶。

重复此步骤,直到第 nn 位品茶师不会喝茶。

n=3,a=[10,20,15],b=[9,8,6]n=3,a=[10,20,15],b=[9,8,6] 为例: 图片描述

第一步:第 11 位品茶师喝了 99 毫升,第 22 位品茶师喝了 88 毫升,第 33 位品茶师喝了 66 毫升。茶水还剩余 [1,12,9][1,12,9],三位品茶师总计喝了 [9,8,6][9,8,6]

第二步:第 11 位品茶师喝了 00 毫升,因为已经不能喝了。第 22 位品茶师喝了 11 毫升,第 33 位品茶师喝了 66 毫升。茶水还剩余 [0,6,9][0,6,9],三位品茶师总计喝了 [9,9,12][9,9,12]

第三步:第 11 位品茶师喝了 00 毫升。第 22 位品茶师喝了 00 毫升,第 33 位品茶师喝了 00 毫升。茶水还剩余 [0,6,9][0,6,9],三位品茶师总计喝了 [9,9,12][9,9,12]

你的任务是输出每位品茶师喝的总量。

输入格式

第一行输入一个正整数 tt,表示测试用例组数。(1t104)(1\le t\le 10^4)

每组测试用例包含三行:

第一行输入一个正整数 nn,表示品茶师的数量与茶叶的种类。(1n2×105)(1\le n\le 2\times 10^5)

第二行输入 nn 个正整数 a1,a2,,ana_1,a_2,\cdots,a_n,表示第 ii 种茶叶的初始毫升数。(1ai109)(1\le a_i\le 10^9)

第三行输入 nn 个正整数 b1,b2,,bnb_1,b_2,\cdots,b_n,表示第 ii 位品茶师一次能喝的量。(1bi109)(1\le b_i\le 10^9)

保证所有样例的 nn 之和不超过 2×1052\times 10^5

输出格式

对于每组测试用例,输出一行 nn 个正整数,表示每位品茶师喝的总量。

样例输入

4
3
10 20 15
9 8 6
1
5
7
4
13 8 5 4
3 4 2 1
3
1000000000 1000000000 1000000000
1 1 1000000000

样例输出

9 9 12 
5 
3 8 6 4 
1 2 2999999997