【6月2日测试2】楼道速递
题号:NC26115
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

** 岭中求是楼,一跃解千愁…… **
得知自己物理考试成绩后心灰意冷的 Rikka,站在温岭中学(WHS)求是楼的顶端,顿时感到神清气爽。
然而这时候吃饭的铃声响了,就算有再多感慨,也无法战胜 Rikka 吃饭的欲望,于是 Rikka 以最快的速度冲向食堂。
WHS 的求是楼和食堂所在位置的结构可以抽象成两座直立的大厦,每一座大厦都可以看作无限高。除了第一层,两座大厦同一层之间都建有天桥。只有从天桥或地面才能从一幢楼移动到另一幢楼。
WHS 的领导认为“跑步去吃饭”即“跑饭”现象不符合 WHS “名校”的作风,所以会派大量的老师在楼层中间的天桥处检查。
WHS 老师的检查十分严密,而且检查的老师都十分狡猾,抓“跑饭”同学的技术十分精湛。由于 Rikka 已经因为多次“跑饭”被列入学校的黑名单,所以她不可以从有老师的天桥中跑过。
但是 Rikka 已经从学校的 ftp 内找到了一份检查的安排表,也就是说,她提前已经知道了那些天桥是可以通过的。
我们认为这两座大厦没有第 0 层,第 1 层即为和地面相连接的最底层,我们认为地面的通道没有检查老师,一直可以通过。
Rikka 某个时刻站在一座大厦(求是楼)的某一层,而食堂在另一座大厦的某一层。Rikka 全速奔跑,已知经过 1 秒 Rikka 可以上下一层楼或者经过天桥或地面从一幢楼移动到另一幢楼。现在 Rikka 已经知道了她某个时刻的位置和食堂的位置,她想知道她最快还需要多久才能到达食堂(秒)。
你能帮助她回答这个问题吗?

输入描述:

输入包含三行。

第一行为两个整数 a, b,分别表示 Rikka 所在的楼层和食堂所在的楼层。

第二行为一个整数 n,表示可以通行的天桥的数量。

第三行包含 n 个整数 h_1 - h_n,一个整数 h_i 表示可以一座通行的天桥的所在的层数。

输出描述:

输出包含一行一个整数,表示Rikka到达食堂所需要的最少时间(秒)。
示例1

输入

复制
3 5
2
2 7

输出

复制
5

说明

### 样例解释
如图,Rikka 先从左边大厦的第三层移动到第二层,然后通过第二层的天桥到达右边大厦的第二层,接着上三层楼到达食堂,总耗时 5s。

可以证明只有这种方法时间最短。

备注:

对于所有的测试数据,保证 ,所有的 h_i 互不相同。