#751. 推销员

推销员

题目描述

阿明是一名推销员,他奉命到螺丝街推销他们公司的产品。螺丝街是一条死胡同,出口与入口是同一个,街道的一侧是围墙,另一侧是住户。螺丝街一共有 N\red{N} 家住户,第 i\red{i} 家住户到入口的距离为 Si\red{S_i} 米。由于同一栋房子里可以有多家住户,所以可能有多家住户与入口的距离相等。阿明会从入口进入,依次向螺丝街的 X\red{X }家住户推销产品,然后再原路走出去。 阿明每走 1\red{1 }米就会积累 1\red{1} 点疲劳值,向第 i\red{i} 家住户推销产品会积累 Ai\red{A_i} 点疲劳值。

阿明是工作狂,他想知道,对于不同的 X\red{X},在不走多余的路的前提下,他最多可以积累多少点疲劳值。

输入格式

第一行有一个正整数 N\red{N},表示螺丝街住户的数量。 接下来的一行有 N\red{N} 个正整数,其中第 i\red{i} 个整数Si\red{ S_i} 表示第i\red{ i} 家住户到入口的距离。数据保证S1S2Sn<108\red{ {S_1}≤{S_2}≤…≤{S_n}<10^8。} 接下来的一行有 N\red{N} 个正整数,其中第 i\red{i} 个整数 Ai\red{A_i} 表示向第 i\red{i} 户住户推销产品会积累的疲劳值。数据保证 Ai<103\red{A_i<10^3}

输出格式

输出 N\red{N} 行,每行一个正整数,第 i\red{i} 行整数表示当 X=i\red{X = i} 时,阿明最多积累的疲劳值。

样例

样例输入

5
1 2 2 4 5
5 4 3 4 1

样例输出

12
17
21
24
27

提示

对于 20%\red{20\%}的数据,1N20\red{1≤N≤20;} 对于 40%\red{40\%}的数据,1N100\red{1≤N≤100;} 对于 60%\red{60\%}的数据,1N1000\red{1≤N≤1000;} 对于 100%\red{100\%}的数据,1N100000\red{1≤N≤100000。}

【输入输出样例说明】 X=1\red{X=1}:向住户 4\red{4} 推销,往返走路的疲劳值为 4+4\red{4+4},推销的疲劳值为 4\red{4},总疲劳值 4+4+4=12\red{4+4+4=12}X=2\red{X=2}:向住户 14\red{1、4} 推销,往返走路的疲劳值为 4+4\red{4+4},推销的疲劳值为 5+4\red{5+4},总疲劳值4+4+5+4=17\red{4+4+5+4=17}X=3\red{X=3}:向住户 124\red{1、2、4} 推销,往返走路的疲劳值为 4+4\red{4+4},推销的疲劳值为 5+4+4\red{5+4+4},总疲劳值4+4+5+4+4=21\red{ 4+4+5+4+4=21}X=4\red{X=4}:向住户 1234\red{1、2、3、4} 推销,往返走路的疲劳值为 4+4\red{4+4},推销的疲劳值为 5+4+3+4\red{5+4+3+4}, 总疲劳值 4+4+5+4+3+4=24\red{4+4+5+4+3+4=24}。或者向住户 1245\red{1、2、4、5}推销,往返走路的疲劳值为 5+5\red{5+5},推销的疲劳值为 5+4+4+1\red{5+4+4+1},总疲劳值 5+5+5+4+4+1=2\red{5+5+5+4+4+1=2}X=5\red{X=5}:向住户 12345\red{1、2、3、4、5} 推销,往返走路的疲劳值为 5+5\red{5+5},推销的疲劳值为 5+4+3+4+1\red{5+4+3+4+1}, 总疲劳值 5+5+5+4+3+4+1=27\red{5+5+5+4+3+4+1=27}