编程题
推销员 ### 题目描述 阿明是一名推销员,他奉命到螺丝街推销他们公司的产品。螺丝街是一条死胡同,出口与入口是同一个,街道的一侧是围墙,另一侧是住户。螺丝街一共有 $N$ 家住户,第 $i$ 家住户到入口的距离为 $S_i$ 米。由于同一栋房子里可以有多家住户,所以可能有多家住户与入口的距离相等。阿明会从入口进入,依次向螺丝街的 $X$ 家住户推销产品,然后再原路走出去。 阿明每走 1 米就会积累 1 点疲劳值,向第 $i$ 家住户推销产品会积累 $A_i$ 点疲劳值。阿明是工作狂,他想知道,对于不同的 $X$,在不走多余的路的前提下,他最多可以积累多少点疲劳值。 ### 输入描述 第一行有一个正整数 $N$,表示螺丝街住户的数量。数据保证 $1 \leq N \leq 10^5$。 接下来的一行有 $N$ 个正整数,其中第 $i$ 个整数 $S_i$ 表示第 $i$ 家住户到入口的距离。数据保证 $S_1 \leq S_2 \leq ... \leq S_n<10^8$。 接下来的一行有 $N$ 个正整数,其中第 $i$ 个整数 $A_i$ 表示向第 $i$ 户住户推销产品会积累的疲劳值。数据保证 $A_i<10^3$。 ### 输出描述 输出 $N$ 行,每行一个正整数,第 $i$ 行整数表示当 $X=i$ 时,阿明最多积累的疲劳值。 ### 输入输出样例 #### 示例 1 > 输入 ```txt 5 1 2 3 4 5 1 2 3 4 5 ``` > 输出 ```txt 15 19 22 24 25 ``` #### 示例 2 > 输入 ```txt 5 1 2 2 4 5 5 4 3 4 1 ``` > 输出 ```txt 12 17 21 24 27 ```
查看答案
赣ICP备20007335号-2