1 条题解

  • 0
    @ 2026-8-6 13:39:17

    题解

    为了使总等待时间最小,应让接水时间短的同学先接水。若相邻两人接水时间分别为 a>b,让 a 在前会使后续等待至少多出 a-b,交换为 b,a 不会使答案变差,因此最优顺序为接水时间升序。

    接水时间相同时按编号升序,以满足题目要求。

    扫描排序后的队伍:

    • current 表示此前同学接水时间总和,也是当前同学的等待时间;
    • current 累加到总等待时间;
    • 再把当前同学的接水时间加入 current

    使用 long long 保存总等待时间。时间复杂度为 O(n log n)

    • 1

    信息

    ID
    CJSORT07
    时间
    2000ms
    内存
    256MiB
    标签
    递交数
    25
    已通过
    4
    上传者