深搜的剪枝技巧(三)——Sticks(可行性剪枝、上下界剪枝、最优性剪枝)
小木棍(最优性剪枝、可行性剪枝)
一、问题描述
- 乔治有一些同样长的小木棍,他把这些木棍随意砍成几段,已知每段的长都不超过 50 。现在,他想把小木棍拼接成原来的样子,但是却忘记了自己开始时有多少根木棍和它们的长度。给出每段小木棍的长度,编程帮他找出原始最短木棍的可能长度
二、输入格式
- 第一行为一个整合 N,表示砍过以后的小木棍总数,其中 \(N\leq 60\)
- 第二行为 N 个用空格隔开的整数,表示 N 根小木棍的长度
三、输出格式
- 输出文件仅一行,表示要求的原始最短木棍的可能长度
四、样例输入
9
5 2 1 5 2 1 5 2 1
五、样例输出
6