#T1. 任务调度

任务调度

题目描述

电子厂装配车间引入了一套精密设备,该设备需要两名工人 同时协作操作。每位工人的持续工作时间因技能差异而不同 (例如熟练工可连续工作 5 小时,新人可能只能坚持 3 小时)。 你作为调度员,需从工人库中挑选并动态调配人员,使设备 持续运转时间最大化。

输入

输入包含多组数据。每组数据包括两行: 第一行是一个整数 N(2≤N≤1000),表示工人的数量。 第二行是 N 个正整数 ai,表示每个工人可以工作的时间。 (1<=ai<=100000)

输出

对每组数据输出一行,表示最大总时间,保留到小数点后 1 位。

样例输入:

2
3 5
3
3 3 5

样例输出:

3.0
5.5

样例解释:

当两名工人工作时长分别为 3h 和 5h 时,设备最多运行 3.0 小时。 若有三个工人(3h、3h、5h),可通过动态调配实现 5.5 小时 持续运转: 初始安排两名 3h 工人操作 0.5 小时,将其中一人替换为 5h 工人,继续工作 2.5 小时,再替换另一人为剩余 2.5h 的 3h 工人。总时长 = 0.5 + 2.5 + 2.5 = 5.5 小时。