1228 - 排队打水问题

题目描述

n 个人排队到 r 个水龙头去打水,他们装满水桶所需的时间分别为 t₁, t₂, ..., tₙ,这些时间均为互不相同的正整数

请你安排这 n 个人的打水顺序,使得他们花费的总时间最少

注意:

  • 每个人打水的时间 = 排队等待的时间 + 自己实际打水的时间
  • 一个人打好水后,后面的人立即开始打水,切换过程不消耗任何时间。
  • 总时间为所有人的打水时间之和(即每个人的等待时间与自己打水时间的总和)。

==========================================

例如,有 2 个人 A 和 B,他们打水的时间分别是 3 和 2,只有一个水龙头(r = 1)。

  • 如果 A 先打水,B 后打水:
    A 的总时间 = 3
    B 的总时间 = 3(排队) + 2(打水) = 5
    总时间 = 3 + 5 = 8

  • 如果 B 先打水,A 后打水:
    B 的总时间 = 2
    A 的总时间 = 2(排队) + 3(打水) = 5
    总时间 = 2 + 5 = 7(更优)

输入

第一行包含两个整数 nr(1 ≤ r ≤ n ≤ 1000),分别表示人数和水龙头数量。

第二行包含 n 个互不相同的正整数 t₁, t₂, ..., tₙ(1 ≤ tᵢ ≤ 10000)。

输出

输出一个整数,表示安排最优打水顺序后,所有人花费的总时间的最小值。

样例

输入

4 2
2 6 4 5

输出

23
来源

贪心

标签
题目参数
时间限制 1 秒
内存限制 32 MB
提交次数 103
通过人数 80
金币数量 2 枚
难度 基础


上一题 下一题