题目描述
农夫布朗的奶牛们正在进行斗争,因为它们听说麦当劳正在考虑引进一种新产品:麦香牛块。奶牛们正在想尽一切办法让这种可怕的设想泡汤。奶牛们进行斗争的策略之一是“劣质的包装”。“看,”,奶牛们说,“如果你用只有一次能装3块、6块或10块的三种包装盒装麦香牛块,你就不可能满足想要一次只想买1、2、4、5、7、8、11、14或17块麦香牛块的顾客了。劣质的包装意味着劣质的产品。”
你的任务是帮助这些奶牛。给出包装盒的种类数N(1<=N<=10)和N个代表不同种类包装盒容纳麦香牛块个数的正整数(1<=i<=256),输出顾客不能用上述包装盒(每种盒子数量无限)买到麦香牛块的最大块数。如果在限定范围内所有购买方案都能得到满足,则输出0。
范围限制是所有不超过2,000,000,000的正整数。
PROGRAM NAME: nuggets
INPUT FORMAT
第1行: 包装盒的种类数N
第2行到N+1行: 每个种类包装盒容纳麦香牛块的个数
SAMPLE INPUT (file nuggets.in)
3
3
6
10
OUTPUT FORMAT
输出文件只有一行数字:顾客不能用包装盒买到麦香牛块的最大块数或0(如果在限定范围内所有购买方案都能得到满足)。
SAMPLE OUTPUT (file nuggets.out)
17
输入
输出
样例输入
样例输出
数据范围限制
前注:
自己一个人做的,没看博客(半年前看了越看越懵,今晚突然茅厕顿开怒码AC)
思路:
一点点基础数论,和近似背包DP <