AT_joi2023_yo2_d.貨物列車 (Freight Train)
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
IOI 铁道运营着一条铁路线。IOI 铁道线上有 N 个车站,沿直线排列,编号依次为 1 到 N。对于每个 i(1≤i≤N−1),车站 i 和车站 i+1 之间由铁轨连接,其长度为 1。
IOI 铁道经营着货物运输。车站 2,3,…,N 上各有一件货物,放在各自的车站。放在车站 i(2≤i≤N)上的货物的价值为 Ai。
IOI 铁道拥有一列货物列车。列车起始时停靠在车站 1,并且可以在铁路线两端来回行驶。在每个车站上,可以将该车站的货物装载到列车上,也可以将列车上的货物卸下并暂时放在该站。
现在需要使用这辆货物列车,将车站 2,3,…,N 上的货物运送到车站 1。但该列车最大只能同时装载 W 件货物。即,任意时刻列车上货物数量不得超过 W。此外,受燃料限制,列车行驶的总距离不得超过 D。因此,可能无法将所有货物全部运回车站 1。
作为 IOI 铁道的社长 JOI 君,希望通过合理安排运输,使最终停放在车站 1 上的货物总价值尽可能大。
请编写程序,根据所给货运列车及各站货物信息,计算可实现的车站 1 上货物总价值的最大值。
输入格式
输入格式如下:
N W D A2 A3 ⋯ AN
输出格式
请输出最终可达到的车站 1 上货物总价值的最大值,输出一行。
输入输出样例
输入#1
4 1 10 1 1 1
输出#1
2
输入#2
7 3 16 1 1 1 1 1 1
输出#2
5
输入#3
5 2 12 40 30 20 10
输出#3
100
输入#4
5 1 11 2 7 1 8
输出#4
10
输入#5
9 3 14 54640 754112 604290 105866 591907 801383 502975 379373
输出#5
2214425
说明/提示
小子任务
1.(6 分)W=1,Ai=1(2≤i≤N)。
2.(9 分)Ai=1(2≤i≤N)。
3.(24 分)W=1。
4.(13 分)N≤15。
5.(24 分)N≤50。
6.(24 分)无其他附加条件。
样例解释 1
例如,按以下方式运行货物列车,则最终可使车站 1 上货物总价值达到 2。
起初,货物列车在车站 1。
- 驶往车站 2。
- 将车站 2 上价值为 1 的货物装上列车。
- 驶回车站 1。
- 将该货物卸至车站 1。
- 驶往车站 4。
- 将车站 4 上价值为 1 的货物装上列车。
- 驶回车站 1。
- 将货物卸至车站 1。
此时总行驶距离为 8,满足“总距离不超过 10”的条件。
此时车站 1 上货物总价值为 2,无法超过 2,因此输出 2。
该例满足所有小子任务的限制。
样例解释 2
例如,按以下方式运行货物列车,则最终可使车站 1 上货物总价值达到 5。
起初,货物列车在车站 1。
- 驶往车站 5。
- 将车站 5 上价值为 1 的货物装上列车。
- 驶往车站 6。
- 将车站 6 上价值为 1 的货物装上列车。
- 驶回车站 1。
- 将两件价值为 1 的货物全部卸至车站 1。
- 驶往车站 2。
- 将车站 2 上价值为 1 的货物装上列车。
- 驶往车站 3。
- 将车站 3 上价值为 1 的货物装上列车。
- 驶往车站 4。
- 将车站 4 上价值为 1 的货物装上列车。
- 驶回车站 1。
- 将三件价值为 1 的货物全部卸至车站 1。
此时总行驶距离为 16,满足“总距离不超过 16”的条件。
此时车站 1 上货物总价值为 5,无法超过 5,因此输出 5。
该例满足子任务 2,4,5,6 的限制。
样例解释 3
例如,按以下方式运行货物列车,则最终可使车站 1 上货物总价值达到 100。
起初,货物列车在车站 1。
- 驶往车站 5。
- 将车站 5 上价值为 10 的货物装上列车。
- 驶往车站 4。
- 将车站 4 上价值为 20 的货物装上列车。
- 驶往车站 2。
- 将车上价值为 10 和 20 的货物卸至车站 2。
- 将车站 2 上价值为 40 的货物装上列车。
- 驶往车站 3。
- 将车站 3 上价值为 30 的货物装上列车。
- 驶往车站 1。
- 将车上价值为 30 和 40 的货物卸至车站 1。
- 驶往车站 2。
- 将车站 2 上价值为 10 和 20 的货物装上列车。
- 驶往车站 1。
- 将车上价值为 10 和 20 的货物卸至车站 1。
总行驶距离为 12,满足“总距离不超过 12”的条件。
此时车站 1 上货物总价值为 100,无法超过 100,因此输出 100。
该例满足子任务 4,5,6 的限制。
样例解释 4
该例满足子任务 3,4,5,6 的限制。
样例解释 5
该例满足子任务 4,5,6 的限制。
约束条件
- 2≤N≤450。
- 1≤W≤N−1。
- 2≤D≤N2−N。
- 1≤Ai≤1000000(2≤i≤N)。
- 所有输入数值均为整数。
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?