#codefestival2015okinawaj. [code_festival_2015_okinawa_j]Jungle
[code_festival_2015_okinawa_j]Jungle
问题
Wolf Sothe拥有丛林中的一块长土地。在这条线性土地上,有棵树以固定间隔生长。从一端开始,第棵树的大小给定为。
由于树木阻碍阳光进入丛林,所以为了让阳光照射到丛林中,Wolf Sothe考虑砍伐其中一些树木(或者不砍伐)。具体来说,根据以下规则砍伐树木:
- 最多可以砍伐棵树(不超过棵)。
- 考虑到对周围生态系统的影响,不允许在任意连续的树木中砍伐两棵或更多的树木。更确切地说,不存在,使得从一端开始的第棵、棵、......、棵树中有棵或更多的树木被砍伐。
- 如果Wolf Sothe砍伐从一端开始的第棵树,那么该树的大小变为。
- 我们希望棵连续树木大小之和的最大值尽可能小。换句话说,我们希望最小化。
给定了棵树的大小以及,的值,当我们对树木进行最佳砍伐选择时,请计算连续棵树之和的最大值的最小值。
输入
输入将通过标准输入给出,格式如下:
:
- 第一行为三个整数,用空格分隔:,,。
- 接下来的行为额外的个整数,表示树木的大小。第行的整数表示第颗树木的大小。
输出
请在一行中输出对树木进行最佳砍伐选择时,连续棵树之和的最大值的最小值。
输出结束时换行。
输入示例 1
6 2 3
1
5
6
2
4
3
输出示例 1
7
如果Wolf Sothe砍伐第棵和第棵树,那么连续棵树之和的最大值的最小值将在第棵、第棵、第棵树时取得。树木大小的总和为。
输入示例 2
10 3 4
3
14
1
5
9
2
6
5
3
5
输出示例 2
17