#SY0708. 小船运输
小船运输
丝绸之路货物运输
2026 青少年信息素养大赛 复赛卷五 · 初中组 C++ 第 14 题
题目描述
在丝绸之路上,西域的港口有一批珍贵的丝绸货物需要通过小船运到对岸。一共有 n 箱丝绸,每箱丝绸都有自己的重量 w[i],而负责运输的小船最大载重为 C。小船每次最多可以装 2 箱丝绸,且每次运输的总重量不能超过 C。
每次小船从港口出发把货物运到对岸,再由一名船员把船划回来,才能进行下一次运输。如果船上有两箱货物,往返的运输时间取决于重量较大的那一箱对应的运输时间 t[i](每箱丝绸都有一个固定的运输时间,和重量正相关)。如果船上只有一箱货物,则往返时间就是这箱对应的 t[i]。
现在请你设计一个运输方案,使得所有货物都运到对岸的总时间最短。
输入格式
- 第一行:两个整数 n 和 C,分别表示货物箱数和小船最大载重。
- 第二行:n 个整数 w[1..n],按重量从小到大排序,每箱丝绸的重量。
- 第三行:n 个整数 t[1..n],对应每箱丝绸的运输时间(与重量一一对应)。
输出格式
输出一行,一个整数,表示将所有货物运到对岸的最短总时间。
样例输入
3 10
2 3 5
1 2 3
样例输出
6
数据范围
- 1 ≤ n ≤ 1000
- 1 ≤ C ≤ 10000
- 1 ≤ w[i] ≤ C
- 1 ≤ t[i] ≤ 1000