编程题

过河问题

题目描述

有 n 个人要渡河,但只有一条小船,这条小船一次只能坐下最多两个人,并且只有一副船桨。每个人划船的速度不一样,如果两个人一起上船,由于重量变大,划船的速度基本上相当于是划船速度最慢的那个人速度。假设给出每个人单独划船过河所花费的时间 Ti,请问所有人都过河的总时间最短的时间?

输入格式

输入两行,第一行是一个整数,表示要过河的 n 个人。

第二行,是 n 个整数,按速度从快到慢排序好的每个人划船过河的时间。

输出格式

输出一行,给出所有人过河所花费最短的时间。

样例输入 1

3
1 2 3

样例输出 1

6

样例输入 2

4
1 2 5 10

样例输出 2

17

注意事项

请严格按要求输出,不要多余的打印语句,例如:“输入 x=...” 等多余内容。

本程序的代码放在同一个源文件中,调试通过后,拷贝提交该源码。

注意: main 函数需要返回 0。

注意: 只使用 ANSI C/ANSI C++ 标准,不要调用依赖于编译环境或操作系统的特殊函数。

注意: 所有依赖的函数必须明确地在源文件中 #include<xxx>, 不能通过工程设置而省略常用头文件。

A
B
C
D
查看答案
赣ICP备20007335号-2