刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

小 Y 特别喜欢环湖赛跑,因为这样空气非常好,跑起来特别有动力。正值一年一度的环湖跑王者争霸赛开始了,小 Y 就立刻报名了。比赛主办方在周长为 8000 米的湖周围一圈设置了 n 个夺分点,逆时针编号为 1~n,每个夺分点的积分不一定相同,每个积分点的具体位置和积分数量由主办方在比赛开始前公布。比赛规定:参赛者可以选择从赛道的任意一点出发,只能逆时针跑,需要在 5 分钟内尽可能多拿分,只要到达积分点即可得到该积分点的积分,不同人到达同一积分点均能得到积分,互不影响。经过小 Y 自己赛前的反复测试发现,平均下来,自己比赛时的速度为 3.5 米每秒。请问小 Y 以这个速度最多能拿多少分呢?最多能拿的分和最少能拿的分差多少呢?

【输入格式】

2n + 1 行,

第一行,一个整数 n,表示积分点的个数。

接下来 n 行,每行一个数,表示积分点的距离,这个距离是相对于 1 号积分点的距离。距离按照积分点的编号从 1 到 n 进行输入,由小到大,保证一圈的距离足够大,无法跑完一整圈;

再接下来的 n 行,每行一个数,表示每个积分点的积分,也是按照积分点的编号顺序进行输入,保证积分总和不超过 1000000000。

【输出格式】

两行,

第一行为小 Y 能得到的最多积分;

第二行为小 Y 能拿到最多积分与最少积分的差值。

【输入样例】

5

0

123

555

6111

7521

23

54

21

76

32

【输出样例】

130

109

使用微信搜索喵呜刷题,轻松应对考试!

答案:

br />最多积分:130最多积分与最少积分差:109

解析:

【喵呜刷题小喵解析】
这个问题是关于小Y参加环湖跑王者争霸赛,需要尽可能多地获取积分。比赛规则是参赛者可以从赛道的任意一点出发,逆时针跑,只要到达积分点即可得到该积分点的积分。小Y的平均速度是3.5米每秒。

首先,我们需要确定小Y的起始位置。为了得到最多的积分,小Y应该选择距离最短的积分点作为起始点,这样他可以在最短的时间内到达更多的积分点。

接下来,我们需要计算小Y在5分钟内能跑多远。由于小Y的速度是3.5米每秒,5分钟是300秒,所以小Y能跑的距离是3.5 * 300 = 1050米。

然后,我们需要找到小Y能到达的所有积分点。这些积分点应该是从小Y的起始积分点开始,按照逆时针方向,直到小Y能跑的距离内的所有积分点。

最后,我们需要计算小Y能得到的最多积分。为了得到最多的积分,小Y应该尽可能多地到达积分点,而且应该按照积分点的积分从高到低进行选择。所以,我们可以按照积分点的积分从高到低进行排序,然后计算小Y能到达的积分点的总积分。

对于最多积分与最少积分的差值,我们需要考虑小Y可能到达的所有积分点,然后计算所有可能的积分组合,找到积分最多的组合和积分最少的组合,并计算它们的差值。

由于这个问题的规模较大,计算过程可能会比较复杂,所以我们可以使用动态规划等方法来简化计算过程。

在给定的输入样例中,积分点的个数n为5,积分点的距离和积分分别为:0, 123, 555, 6111, 7521和23, 54, 21, 76, 32。根据这些输入,我们可以计算出小Y能得到的最多积分和最多积分与最少积分的差值。

在给定的输出样例中,最多积分为130,最多积分与最少积分的差值为109。
创作类型:
原创

本文链接:小 Y 特别喜欢环湖赛跑,因为这样空气非常好,跑起来特别有动力。正值一年一度的环湖跑王者争霸赛开始了

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share