A group of N people wishes to go across a river with only one boat, which can at most carry two persons. Therefore some sort of shuttle arrangement must be arranged in order to row the boat back and forth so that all people may cross. Each person has a different rowing speed; the speed of a couple is determined by the speed of the slower one. Your job is to determine a strategy that minimizes the time for these people to get across.
输入
The first line of the input contains a single integer T (1 <= T <= 20), the number of test cases. Then T cases follow. The first line of each case contains N, and the second line contains N integers giving the time for each people to cross the river. There won't be more than 1000 people and nobody takes more than 100 seconds to cross.
输出
For each test case, print a line containing the total number of seconds required for all the N people to cross the river.
一群N人想用一艘船过河,船最多只能载两个人。 因此,必须安排某种穿梭安排,以便来回划船,以便所有人都能过河。 每个人的划船速度不同; 一对夫妇的速度由较慢的一对的速度决定。 你的工作是确定一种策略,最大限度地减少这些人通过的时间。
输入
输入的第一行包含一个整数 T (1 <= T <= 20),即测试用例的数量。 然后是 T 个案例。 每个案例的第一行包含 N,第二行包含 N 个整数,给出每个人过河的时间。 不会超过 1000 人,没有人需要超过 100 秒才能通过。
输出
对于每个测试用例,打印一行,其中包含所有 N 个人过河所需的总秒数。
本文探讨了一群人如何使用一艘最多载两人的船过河,目标是最小化所有人过河的总时间。每个个体的划船速度不同,且一对搭档的速度由较慢者决定。问题转化为制定有效策略,确保高效穿梭。输入包含测试用例数量、人数及每个人过河所需时间。输出为所有人在最优化策略下过河的总秒数。
3053

被折叠的 条评论
为什么被折叠?



