#P5941. [POI1997] ADDON
[POI1997] ADDON
题目背景
科学家们发现了一种新的放射性元素——ADDON
。ADDON
是已知的效率最高的核燃料,因此他们决定建立一个 ADDON
核反应堆。
题目描述
根据计划,一间燃料室是一根竖直的管子。燃料棒(即装有 ADDON
的圆筒)将一根叠一根的被放进燃料室里,搭建成一个圆柱。燃料棒具有不同的高度。
核反应循环开始于将燃料棒放进燃料室中。接下来的步骤才是点火。麻烦的是,圆柱的高度不能是任意的——只有某些特定的高度才能保证反应的安全。这样的高度被称作稳定高度。
现在,反应堆的设计师们面临着两个任务:确定燃料室的高度以及选择一个用于制造 ADDON
的燃料棒的高度集合。
我们说一个高度集合是安全的(对于一个特定高度的燃料室),则有:
- 对于任意一根由高度属于这个集合的燃料棒搭建而成的,且高度不超过燃料室的高度的圆柱,它的高度一定是稳定的。
我们说一个高度集合是完备的(对于一个特定高度的燃料室),则有:
- 对于任意一根高度是稳定的,并且其高度不超过燃料室高度的圆柱,都一定能够由高度属于该集合的燃料棒搭建而成。
现在要写一个程序:
-
- 读入一个稳定高度的集合;
-
- 找出存在一个安全且完备的高度集合的核燃料室的最大可能值;
-
- 对于找到的核燃料室,找出一个元素个数最少的安全且完备的高度集合;
-
- 将结果输出。
输入格式
第一行是一个自然数 ,代表所给的稳定高度的个数。
接下来的 行,每行是一个不超过 的正整数。这些数按照升序给出,代表了稳定高度。
输出格式
第一行是找到的燃料室高度的最大可能值。
接下来的每行按照升序给出你所找到的高度集合中的一个元素。
14
5
10
12
15
17
20
21
22
24
26
27
30
31
33
24
5
12
21
提示
对于 的数据,。