首页 > 试题广场 >

健身

[编程题]健身
  • 热度指数:627 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 128M,其他语言256M
  • 算法知识视频讲解
因为公司有免费健身福利,快手程序员老铁们都很爱健身,而且他们健身时像工作一样充满效率。
他们把健身过程神奇的简化了出来:健身有N种锻炼方式可选,器材可看成在一条直线上。
每种锻炼方式距门口Xi米,因为有的器材上可以支持多种锻炼方式,因此有可能出现两种锻炼方式的距离是一样的,即Xa = Xb

老铁们一进健身房门口就开启健身形态,每走1米,就能获得1点锻炼效果值,而每种锻炼方式也有Ei的效果值,锻炼的过程就是从门口走到某种锻炼方式锻炼,然后到下一个方式锻炼,最后返回门口的过程。需要注意的是,锻炼过程中老铁们不会为了获得效果而刻意走回头路。

老铁们很想知道如果想选择某几种锻炼方式,怎样获得最大锻炼效果。


输入描述:
第一行N,表示锻炼方式的个数

第二行N个整数,表示每种锻炼方式距门口的距离

第三行N个整数,表示每种锻炼方式的效果值


输出描述:
N个整数,第k行表示选择k种锻炼方式时获得的最大锻炼效果
示例1

输入

5
1 2 3 4 5
1 1 1 1 1

输出

11
12
13
14
15

说明

对于样例第一行,老铁选择去第5种锻炼方式,考虑来回路程,一共获得5+1+5点锻炼效果值

备注:
对于所有数据,N <= 100,000,输出结果在32位整数范围内
头像 石郎
发表于 2020-04-29 14:06:28
链接:https://www.nowcoder.com/questionTerminal/7f080ec10f4e46c2bd13ea8b565273d0 来源:牛客网 因为公司有免费健身福利,快手程序员老铁们都很爱健身,而且他们健身时像工作一样充满效率。 他们把健 展开全文