#6908. 海豚电梯
海豚电梯
海豚电梯
时间限制:1秒
海底一直带给海豚一种非常特别的感觉。在那里,它们可以发现许多不同种类的植物和鱼类。因此,海豚喜欢尽可能潜入更深的地方,探索新的区域。
为此,它们建造了一部电梯。这部电梯能够带它们前往正常情况下无法到达的深海区域。
所有海豚都想使用这部新电梯。但是,这部电梯每次最多只能容纳 2只海豚,而且承载过大的重量非常危险。
已知想要使用电梯的海豚数量以及每只海豚的重量,请你安排每次乘坐电梯的海豚,使得:
- 电梯运行的总次数尽可能少;
- 在满足运行次数最少的前提下,所有行程中的最大总重量尽可能小。
一趟行程的总重量,等于该趟电梯中所有海豚的重量之和。
输入数据(elevator.in)
第一行包含一个整数 ,表示海豚的数量:
接下来的 行,每行包含一个整数 ,表示第 只海豚的重量:
输出数据(elevator.out)
输出两个以空格分隔的整数:
电梯运行次数 所有行程中的最小可能最大总重量
第一个数表示电梯需要运行的最少次数。
第二个数表示在运行次数最少的情况下,某一趟行程可能达到的最大总重量的最小值。
输入示例1
6
1
4
3
50
5
4
输出示例1
3 51
一种最优安排是:
第1趟:1和50,总重量为51
第2趟:3和5,总重量为8
第3趟:4和4,总重量为8
一共运行3次,所有行程中的最大总重量为51。
输入示例2
3
12
5
7
输出示例2
2 12
一种最优安排是:
第1趟:12单独乘坐,总重量为12
第2趟:5和7,总重量为12
一共运行2次,所有行程中的最大总重量为12。
| 测试点编号 | 层级 | n |
数据特征 | 标准输出 | 设计目的 |
|---|---|---|---|---|---|
| 1 | 弱数据 | 1 | 最小规模,单只海豚 | 1 1 |
检查奇数分支及无配对情况 |
| 2 | 4 | 偶数、输入无序 | 2 10 |
检查排序和基本配对逻辑 | |
| 3 | 正常数据 | 5 | 奇数、含重复重量 | 3 10 |
检查最重者单独乘坐,且配对重量可能更大 |
| 4 | 10 | 偶数、多组对称配对、含重复值 | 5 101 |
检查多轮双指针配对及最大值统计 | |
| 5 | 极限数据 | 6 | 10¹⁸ 级大整数、输入无序 |
3 5000000000000000000 |
检查 long long 运算和大数相加 |