菜鸟驿站

测试数据来自 system/1111

作业已超过截止时间,您无法递交本题目。

时间限制:1秒  内存限制:256M


【问题描述】

  一条街道上分布着 \(n\) 个社区,依次标号为 \(1..n\)。已知社区 \(i\) 和 \(i+1\) 的距离为 \(d_i(1≤i<m)\)。为了方便各社区收取快递,街道打算从 \(n\) 个社区中选择 \(m\) 个社区建立菜鸟驿站。那么要选择那些社区建立菜鸟驿站,才使得所有社区到最近驿站的距离总和最小,请编程计算这个最小值。

【输入格式】

  第 1 行为 \(n\) 和 \(m\),意义如题目描述。
  第 2 行为 \(n-1\) 个整数,分别是 \(d_1,d_2,…,d_{n-1}\),其中 \(d_i\) 表示社区 \(i\) 与社区 \(i+1\) 之间的距离。
  同一行相邻整数之间以一个空格间隔。

【输出格式】

  各社区到最近菜鸟驿站距离之和的最小值。

【输入输出样例】

 Input

8 2
5 1 3 4 2 1 3

 Output

17

【样例解释】

  输入中的 8 个社区的位置如下图:
说明
  一种最优方案是把两个菜鸟驿站分别3号和6号社区,各社区到距离自己最近的驿站的距离分别为:
   1 号社区到 3 号社区的距离为 5 + 1 = 6
   2 号社区到 3 号社区的距离为 1
   3 号社区自己就有驿站,距离为 0
   4 号社区到 3 号社区的距离为 3
   5 号社区到 6 号社区的距离为 2
   6 号社区自己就有驿站,距离为 0
   7 号社区到 6 号社区的距离为 1
   8 号社区到 6 号社区的距离为 3 + 1 = 4
  所以距离和为:6 + 1 + 3 + 2 + 1 + 4 = 17。

【数据限制】

  \(0<m≤n<500\),\(0<d_i≤100\)

【来源】

 Mr.he

序列最优分组练习题

未认领
状态
已结束
题目
10
开始时间
2025-03-03 00:00
截止时间
2025-04-05 23:59
可延期
24.0 小时