#yard. 2026提高组模拟赛10-T1 程老师的环形货栈
2026提高组模拟赛10-T1 程老师的环形货栈
时间限制:1000ms 内存限制:512MB
题目描述
程老师的老同学在山里经营一座货栈,常年囤放山货干货。货栈共有 间仓库,沿着一条环山公路排成首尾相接的一圈,编号依次为 到 。相邻仓库之间修有搬运通道:第 条通道连接 号和 号仓库,第 条连接 号和 号,依此类推,第 条通道连接 号和 号,正好合上这个圈。山里没有别的路,挑夫搬货只能走这些通道。前阵子盘库,第 间仓库存货 箱,总箱数恰好是 的整数倍。
货栈开了十几年,挑夫都是附近村子的熟手,按件计费、当天结算。通道是双向的,一箱货从哪头进哪头出都行,计费只看经过的是哪条通道、过了几次,与方向无关。以前也匀过货,那时各通道工钱差不多,怎么搬都差不了几个钱;今年有几条通道翻修后重新定了价,价差一拉大,搬法就得仔细挑了。
今年老客户改了提货规矩,要求各仓库备货量一致,说是调货单好开。老同学决定把存货匀平:最终每间仓库都恰好囤 箱( 为总箱数)。搬货按通道计费:一箱货每经过第 条通道一次,付工钱 元。各通道路况不同,有的平坦有的陡坡,工钱标准各不相同。一箱货经过几条通道就付几条的钱,货在仓库之间倒腾的次数不限,只要最后每间仓库都匀到 箱。
老同学请程老师把账算清楚:按最省钱的搬法,总工钱最少是多少元。这笔钱不是小数——挑夫按件计酬,搬法定了才好开工。程老师把各间仓库的存货数、各条通道的工钱标准抄在册子上,逐项核对:哪间仓库该出多少货、该进多少货,是定的;可这些货从哪条通道走、绕不绕路,安排不同,总价就大不一样。同一批货顺时针送和逆时针送,价钱能差出好几倍,不能随手一指就完事。
账要算到分毫不差。老同学特意交代,别只给个大概数,将来和挑夫对账,差一块钱都要重新核单子。程老师答应下来,开始算这笔账。
输入格式
第一行一个整数 ,表示仓库数量。
第二行 个整数 ,表示每间仓库当前的存货箱数。
第三行 个整数 ,表示每条通道每箱货经过一次的辛苦钱(第 条通道连接 号与 号仓库,第 条连接 号与 号)。
输出格式
输出一行一个整数,表示把货匀平所需的最少搬运费(单位:元)。
数据范围
| 测试点编号 | 特殊性质 | |
|---|---|---|
| 1 ~ 2 | 无 | |
| 3 ~ 6 | ||
| 7 ~ 10 | ||
| 11 ~ 12 | A | |
| 13 ~ 16 | 无 | |
| 17 ~ 20 |
- 特殊性质 A:所有通道的辛苦钱都相同,即 。
- 对于全部数据,,,,保证 是 的整数倍。
样例
样例 1
输入:
4
8 0 0 4
1 1 1 1
输出:
8
解释:总箱数 ,每间仓库要匀到 箱。一种搬法: 号经第 条通道送出 箱( 箱留在 号, 箱继续经第 条通道送到 号),花费 元; 号经第 条通道送 箱给 号,花费 元。这样 号剩 箱、 号有 箱、 号有 箱、 号剩 箱,总花费 元。试试别的走法,比如让 号多绕第 条通道,账都不会更省, 元就是最少的。
样例 2
输入:
4
6 0 0 2
10 1 1 1
输出:
10
解释:总箱数 ,每间要匀到 箱。第 条通道每箱要 元,硬闯太贵:从 号直接送 箱给 号就要 元。换个方向绕圈走: 号的 箱经第 条通道送到 号( 元), 号凑够自己要的 箱后,把多出的 箱经第 条通道送到 号( 元), 号留 箱,再把剩下 箱经第 条通道送到 号( 元)。总花费 元。绕远路反而便宜,这正是单价闹的。
样例 3
输入:
5
1 2 3 4 5
2 3 1 4 1
输出:
6
解释:总箱数 ,每间要匀到 箱。一种搬法: 号多出 箱,经第 条通道送给 号,花费 元; 号多出 箱,经第 条通道送给 号,花费 元; 号把这 箱连同中转来的经第 条通道送 箱给 号,花费 元。总花费 元,这就是最省的搬法。
- ID
- 671
- 类型
- 传统题
- Time Limit
- 1000ms
- Memory Limit
- 512MiB
- 上传者