#P1120. 小木棍(Sticks)

0
    ID: 8428 传统题 260ms 128MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>P1120剪枝深度优先搜索搜索优化CSP-S

小木棍(Sticks)

小木棍(Sticks)

题目描述

乔治有一些同样长的小木棍,他把这些木棍随意砍成几段,直到每段的长都不超过 5050。

现在,他想把小木棍拼接成原来的样子,但是却忘记了自己开始时有多少根木棍和它们的长度。

给出每段小木棍的长度,编程帮他找出原始木棍的最小可能长度。

输入格式

第一行是一个整数 nn,表示小木棍的个数。
第二行有 nn 个整数,表示各个木棍的长度 aia_i。

输出格式

输出一行一个整数表示答案。

样例输入 #1

9
5 2 1 5 2 1 5 2 1

样例输出 #1

6

数据范围

对于全部测试点,1≤n≤651 \leq n \leq 65,1≤ai≤501 \leq a_i \leq 50。

知识点与难度

本题涉及的知识点从属于 CSP-S,难度(CF Rating):1900。


测试点分布

Subtask 分值 测试点编号 说明
0 10 1 样例
1 20 2~8 小规模 n≤15 / 特殊: 所有小木棍等长 / 特殊: 仅能拼成1根完整木棍
2 15 9~11 Hack: 总和为大素数仅单根解 / Hack: 许多约数但仅较大约数可行 / Hack: n=65大量重复短棍
3 30 12~20 中规模 n≤40 / 大规模 55≤n≤65,a_i≤50 五重剪枝压力
4 25 21~25 随机 1≤n≤65,1≤a_i≤50 回归

出处:原题链接