小慕正在规划一条东西走向的“星辰走廊”,走廊上分布着若干个项目节点,每个节点上有一定数量的团队成员,人数记录在数组 `mages` 中。为了方便团队快速跨节点协作,小慕计划在部分节点上设置协作中心。 然而,由于预算有限,小慕必须关闭 `banNum` 个节点的协作中心。这些被关闭的节点上的团队成员,需要前往的、仍然开放的协作中心,通过步行完成转移。 请你帮助小慕规划协作中心的分布,使得所有团队成员最少,并输出这个最小的总数。
提示:带虚线的词点一下有通俗解释。
输入描述
* 第一行输入一个整数 `n`,表示聚集点的数量,满足 `1 <= n <= 100`。 * 第二行输入 `n` 个整数,`mages[i]` 表示第 `i` 个聚集点的冒险者人数,满足 `0 <= mages[i] <= 10^5`。 * 第三行输入一个整数 `banNum`,表示需要关闭传送阵的聚集点数量,满足 `0 <= banNum <= min(6, n - 1)`。
输出描述
* 输出一个整数,表示**最少的步行区间总数**。
示例
示例 1
输入
5 12 7 15 4 3 2
输出
10
说明:关闭下标为 `3` 和 `4` 的传送阵: * 下标 3 的冒险者:步行 `1` 个区间到下标 2,贡献 `4×1 = 4`; * 下标 4 的冒险者:步行 `2` 个区间到下标 2,贡献 `3×2 = 6`; * 总计 `4 + 6 = 10`
示例 2
输入
7 5 4 5 4 6 7 9 3
输出
14
说明:一种可行的最优方案:关闭下标为 `0`、`2`、`3` 的传送阵: * 下标 0:步行 `1` 个区间,贡献 `5×1 = 5`; * 下标 2:步行 `1` 个区间,贡献 `5×1 = 5`; * 下标 3:步行 `1` 个区间,贡献 `4×1 = 4`; * 合计 `5 + 5 + 4 = 14`。
时间限制 1000 ms · 内存限制 128 MB