AT_arc131_d.[ARC131D] AtArcher
省选/NOI-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
りんごさん参加了射箭比赛“AtArcher”。
在 AtArcher 中,选手要在数轴上的靶子上射出 N 支箭,以比拼总得分。靶子的中心位于坐标 0,根据箭命中的位置,得分规则如下:
- 对于 i=0,1,…,M−1,如果箭命中的位置距离中心在 ri 到 ri+1 之间,则获得 si 分;如果距离大于 rM,则得分为 0。如果正好命中边界,则按较高分数计算。
- 距离中心越近,得分越高。即满足以下条件:
- 0=r0<r1<⋯<rM−1<rM
- s0>s1>⋯>sM−1>0
例如,当 r=(0,2,7,9), s=(100,70,30) 时,得分如下图所示。

此外,AtArcher 还有一条特殊规则:“任意两支箭之间的距离必须至少为 D。”如果违反此规则,则会被判定为失格,总得分为 0。
现在,已知りんごさん已经射完所有的箭,请问她最多能获得多少分?
输入格式
输入通过标准输入给出,格式如下:
N M D r0 r1 ⋯ rM−1 rM s0 s1 ⋯ sM−1
输出格式
请输出答案。
输入输出样例
输入#1
3 3 3 0 2 7 9 100 70 30
输出#1
270
输入#2
3 3 8 0 2 7 9 100 70 30
输出#2
200
输入#3
7 5 47 0 10 40 100 160 220 50 25 9 6 3
输出#3
111
输入#4
100 1 5 0 7 100000000000
输出#4
300000000000
输入#5
15 10 85 0 122 244 366 488 610 732 854 976 1098 1220 10 9 8 7 6 5 4 3 2 1
输出#5
119
说明/提示
限制条件
- 1≤N≤105
- 1≤M≤105
- 1≤D≤106
- 0=r0<r1<⋯<rM−1<rM≤1011
- 1011≥s0>s1>⋯>sM−1>0
- 所有输入均为整数
样例解释 1
本样例对应题目中的例子,但 D=3。例如,将 N=3 支箭分别射在坐标 −6,−2,1,可以分别获得 70,100,100 分。此时总得分为 270 分,是可实现的最大得分。
需要注意,不能将所有箭都射入 100 分区域获得 300 分,因为任意两支箭之间必须至少间隔 D=3,否则会被判定为失格,总得分为 0。
样例解释 2
本样例也对应题目中的例子,但 D=8。例如,将 N=3 支箭分别射在坐标 −7,1,9,可以分别获得 70,100,30 分。此时总得分为 200 分,是可实现的最大得分。
样例解释 3
例如,如下图所示射箭时,总得分为 111 分,这是最大值。
样例解释 4
虽然可以射 N=100 支箭,但为了不被判定为失格,在有得分的区域内最多只能放入 3 支箭。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?