时间限制:1000 ms
内存限制:256 MiB
标准输入输出
题目类型:传统
评测方式:文本比较
在考古发掘中,发现了一批古代竹简。竹简是重要的文化载体,它的最小单位是“简”,即一根狭长的竹木片,上面书写单行的文字。由于一根竹简的篇幅有限,因此一般
会把若干根竹简用绳索编连在一起,形成一篇竹简。假设这批竹简在古代时都是一篇一篇独立完整的,且每篇的长度(即竹简的根数)是一样的,都是标准长度。后来由
于长时间埋藏,编连竹简的绳索腐烂,导致这些一篇篇的竹简散落成片段。考古学家希望将这些竹简片段重新拼接成完整的竹简(即还原成一篇一篇的),但是他们并不
知道最初有多少篇,以及每篇竹简的长度是多少。现在给出每个竹简片段的长度(每个片段的长度都不超过 50 厘米),请编程找出原始竹简的最小可能的标准长度。
注意:这个问题需要高效的算法,因为竹片段的数量可能较多,而可能的拼接方式非常多。
第一行是一个整数 ,表示竹简片段的数量。
第二行有 个整数,表示各个竹简片段的长度 厘米。
样例输入
样例输出
样例解释
输入数据共有 9 个竹简片段,长度分别为 5、2、1、5、2、1、5、2、1。
总长度计算:所有片段长度之和为 5+2+1+5+2+1+5+2+1 = 24。
可能的标准长度:原始竹简标准长度必须是总长度 24 的约数,且不小于最大片段长度 5。因此可能的标准长度有 6、8、12、24。最小可能标准长度:通过尝试,
发现标准长度为 6 时,可以将所有片段拼接成 4篇长度为 6 的竹简。一种可能的拼接方式如下:
第一篇竹简:片段 3 和 1(5 + 1 = 6)
第二篇竹简:片段 4 和 6(5 + 1 = 6)
第三篇竹简:片段 7 和 9(5 + 1 = 6)
第四篇竹简:片段 2、5 和 8(2 + 2 + 2 = 6)
输出结果:因此,最小可能标准长度为 6。