题目名称 2113. [NOIP 2015PJ]推销员
输入输出 2015salesman.in/out
难度等级 ★★
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 10
题目来源 Gravatarcqw 于2015-11-09加入
开放分组 全部用户
提交状态
分类标签
NOIP/CSP 贪心 线段树
分享题解
通过:79, 提交:240, 通过率:32.92%
Gravatar胡嘉兴 100 0.180 s 1.05 MiB C
Gravatar胡嘉兴 100 0.180 s 1.05 MiB C
GravatarChtholly 100 0.182 s 1.08 MiB C++
Gravatar胡嘉兴 100 0.196 s 1.05 MiB C
Gravatar铁策 100 0.218 s 1.08 MiB C++
Gravatar面对疾风吧 疾风 疾风吧 100 0.230 s 1.84 MiB C++
GravatarPine 100 0.234 s 0.43 MiB C++
Gravatar面对疾风吧 疾风 疾风吧 100 0.242 s 1.66 MiB C++
GravatarSamle 100 0.245 s 0.58 MiB C++
Gravatarnoip_zkx 100 0.253 s 1.08 MiB C++
关于 推销员 的近10条评论(全部评论)
自从有了priorrity_queue,再也不用写堆了
Gravatar再见
2016-05-05 13:48 1楼

2113. [NOIP 2015PJ]推销员

★★   输入文件:2015salesman.in   输出文件:2015salesman.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】

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

【输入格式】

第一行有一个正整数 N,表示螺丝街住户的数量。

接下来的一行有 N 个正整数,其中第 i 个整数 Si 表示第 i 家住户到入口的距离。数据保证 S1≤S2≤…≤Sn<10^8。

接下来的一行有 N 个正整数,其中第 i 个整数 Ai 表示向第 i 户住户推销产品会积累的疲劳值。数据保证 Ai<10^3。

【输出格式】

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

【样例输入】

5  
1 2 3 4 5  
1 2 3 4 5 

【样例输出】

15
19
22
24
25

【输入输出样例 1 说明】

X=1: 向住户 5 推销,往返走路的疲劳值为 5+5,推销的疲劳值为 5,总疲劳值为15。  

X=2: 向住户 4、5 推销,往返走路的疲劳值为 5+5,推销的疲劳值为 4+5,总疲劳值为 5+5+4+5=19。

X=3: 向住户 3、4、5 推销,往返走路的疲劳值为 5+5,推销的疲劳值 3+4+5,总疲劳值为 5+5+3+4+5=22。

X=4: 向住户 2、3、4、5 推销,往返走路的疲劳值为 5+5,推销的疲劳值 2+3+4+5,总疲劳值 5+5+2+3+4+5=24。

X=5: 向住户 1、2、3、4、5 推销,往返走路的疲劳值为 5+5,推销的疲劳值 1+2+3+4+5,总疲劳值 5+5+1+2+3+4+5=25。

【数据范围】

对于20%的数据,1<=N<=20;

对于40%的数据,1<=N<=100;

对于60%的数据,1<=N<=1000;

对于100%的数据,1<=N<=100000.