工程师CY
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

工程师CY要在相距单位距离的AB两杆塔(A杆塔位于坐标为0的位置,B杆塔位于坐标为的位置)之间架设K条质地相同钢丝绳。
由于受到重力影响,若钢丝绳连续超过单位距离(投影距离)没有支撑就会断裂。现在AB两杆塔之间另有个杆塔,每个杆塔都可以用于支撑钢丝绳,第个(从开始)杆塔位于坐标处,有着自己的承重上限(也即最多支撑条钢丝绳)。一条钢丝绳可以选择架设在杆塔上,也可以选择跳过杆塔。特殊的,杆塔AB承重无上限。
钢丝绳的质量越好,值就会越大。现在工程师CY想要节省资金,请问值最低为多少,可以顺利架设条钢丝绳。


输入描述:

第一行两个空格隔开的正整数表示  
接下来行,每行一个整数表示

输出描述:

一个整数表示的最小值

示例1

输入

复制
1 1
0

输出

复制
2
示例2

输入

复制
3 2
1
0
1

输出

复制
3

说明