#HK5481. 「UOI 2016 Stage 4 Day1」机器人
「UOI 2016 Stage 4 Day1」机器人
题目描述
题目译自 Ukrainian Olympiads in Informatics 2016 Stage 4 Day2 T1. Робот
在奥林匹亚国,今天是个节日!
奥林匹克大街上唯一的邮局堆满了礼物,需要尽快送达收件人。今天总共收到了 件礼物,其中第 件需要送到编号为 的房子。多件不同的礼物可能会被寄往同一栋房子。
邮局位于奥林匹克大街的起点。从邮局向右,沿着一条笔直的道路排列着房屋,编号从 开始;第 栋房子距离邮局 公里。为了配送,实验性地使用了一台特殊的邮政机器人,它一次最多能装载 件物品。装载或卸下一件礼物需要一分钟,两件礼物不能同时装载或卸载。机器人行驶一公里也需要一分钟。
请编写一个名为 robot 的程序,根据每件礼物的信息和机器人的特性,确定机器人能够将所有礼物送达收件人并返回邮局所需的最短时间(以分钟为单位)。起初,所有礼物和机器人都在邮局。
输入格式
输入文件的第一行包含两个整数 和 ,分别是邮局收到的礼物数量,以及机器人一次能装载的最大物品数量。
第二行包含 个用空格分隔的整数:第 个数等于 ,需要将第 i 件礼物送达的房屋编号。保证具有指定编号的房屋确实位于奥林匹克大街上。
输出格式
输出文件的唯一一行应包含一个整数——机器人能够将礼物送达收件人并返回邮局所需的最短时间(以分钟为单位)。
7 3
3 9 3 2 1 1 3
40
我们将礼物从 编号到 。那么,一种最优的配送方案如下:
- 分钟:装载第 和第 件礼物(都需要送到 号房),
- 分钟:机器人从邮局移动到 号房,
- 分钟:卸下第 和第 件礼物,
- 分钟:机器人从 号房返回邮局,
- 分钟:装载第 和第 件礼物(第 件礼物需送到 号房,第 件礼物需送到 号房),
- 分钟:机器人从邮局移动到 号房,
- 分钟:卸下第 件礼物,
- 分钟:机器人从 号房移动到 号房,
- 分钟:卸下第 件礼物,
- 分钟:机器人从 号房返回邮局,
- 分钟:装载第 、 和 件礼物(第 和第 件礼物需送到 号房,第 件礼物需送到 号房),
- 分钟:机器人移动到 号房,
- 分钟:卸下第 件礼物,
- 分钟:机器人从 号房移动到 号房,
- 分钟:卸下第 和第 件礼物,
- 3 分钟:机器人从 号房返回邮局。
数据范围与提示
详细子任务附加限制及分值如下表所示:
| 子任务 | 分值 | 附加限制 |
|---|---|---|
| $1 \leq N \leq 10, 1 \leq K \leq 5, 1 \leq h_i \leq 10^2$ | ||
| $1 \leq N \leq 10^3, 1 \leq K \leq 10^2, 1 \leq h_i \leq 10^4$ | ||
| ; | ||
| $1 \leq N \leq 10^5, 1 \leq K \leq 10^3, 1 \leq h_i \leq 10^6$ |