#370. 5. 竹简复原
5. 竹简复原
5. 竹简复原
题目描述
在考古发掘中,发现了一批古代竹简。竹简是重要的文化载体,它的最小单位是“简”,即一根狭长的竹木片,上面书写单行的文字。由于一根竹简的篇幅有限,因此一般会把若干根竹简用绳索编连在一起,形成一篇竹简。
假设这批竹简在古代时都是一篇一篇独立完整的,且每篇的长度(即竹简的根数)是一样的,都是标准长度。后来由于长时间埋藏,编连竹简的绳索腐烂,导致这些一篇篇的竹简散落成片段。
考古学家希望将这些竹简片段重新拼接成完整的竹简(即还原成一篇一篇的),但是他们并不知道最初有多少篇,以及每篇竹简的长度是多少。
现在给出每个竹简片段的长度(每个片段的长度都不超过 (50) 厘米),请编程找出原始竹简的最小可能的标准长度。
注意:这个问题需要高效的算法,因为竹片段的数量可能较多,而可能的拼接方式非常多。
输入格式
第一行是一个整数 (n),表示竹简片段的数量。
第二行有 (n) 个整数,表示各个竹简片段的长度 (a_i)(厘米)。
输出格式
输出一行一个整数表示答案。
样例输入
9
5 2 1 5 2 1 5 2 1
样例输出
6
数据范围
对于全部测试点,(1 \leqslant n \leqslant 65),(1 \leqslant a_i \leqslant 50)。
粤公网安备44195502000169号