题目名称 385. 货物搬运
输入输出 move.in/out
难度等级
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 10
题目来源 Gravatarcqw 于2009-10-26加入
开放分组 全部用户
提交状态
分类标签
贪心
分享题解
通过:23, 提交:106, 通过率:21.7%
GravatarSky_miner 100 0.006 s 0.44 MiB C++
Gravatar4154 100 0.008 s 0.24 MiB Pascal
GravatarOstmbh 100 0.011 s 0.39 MiB C++
GravatarIvan 100 0.014 s 0.31 MiB C++
GravatarMakazeu 100 0.292 s 0.47 MiB C++
GravatarNewBee 100 0.349 s 0.44 MiB C++
GravatarQhelDIV 100 0.502 s 0.47 MiB C++
Gravatarlingyixiaoyao 100 0.519 s 1.84 MiB C++
GravatarLethur 100 0.534 s 0.42 MiB C++
Gravatar6434 100 0.573 s 1.84 MiB C++
本题关联比赛
20091026
20091026
关于 货物搬运 的近10条评论(全部评论)
第九组稍加优化即可
我的题解,太长了,放我blog上了
:michstar.tk
GravatarQhelDIV
2011-12-08 22:13 2楼
第九组怎么办
?????
Gravatarwangmengyuan
2011-10-29 09:36 1楼

385. 货物搬运

★   输入文件:move.in   输出文件:move.out   简单对比
时间限制:1 s   内存限制:128 MiB

【题目描述】

天地无情人有情,一方有难八方支援!目前灾区最紧缺的就是救灾帐篷,全国各地支援的帐篷正紧急向灾区运送。

假设围绕汶川县有环行排列的 $n$ 个救灾帐篷的存储点,每个存储点存有帐篷数量分别是 $m_1,m_2,\cdots,m_n$ ,且$s=m_1+m_2+\cdots+m_n$必为 $n$ 的倍数。

可以在任意一个存储点中任取任意数量的帐篷搬运到相邻的存储点。现在需要找到一种搬运方法,搬运最少的帐篷使得每个存储点中的帐篷数目相同。

例如: $n=5$ ,每个存储点帐篷的数量分别为 $17,9,14,16,4$ 。我们进行如下搬运:

(1) 存储点①向存储点②搬运 1 个帐篷;

(2) 存储点①向存储点⑤搬运 4 个帐篷;

(3) 存储点③向存储点②搬运 2 个帐篷;

(4) 存储点④向存储点⑤搬运 4 个帐篷。

搬运帐篷的总数量是 $1+4+2+4=11$ ,并且可以证明这样的搬运方法是最佳搬运方法。 

【输入格式】 

第一行一个整数$n(n\leq 10000)$,表示有$n$个储存点。

第二行 $n$ 个整数(int范围),表示 $n$ 个存储点中帐篷数量。

【输出格式】

一个整数,表示最少搬运的帐篷数量。

【输入样例】

5
17 9 14 16 4

【输出样例】

11