坐电梯
题号:NC52279
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 32 M,其他语言64 M
64bit IO Format: %lld

题目描述

sun非常懒,所以他非常喜欢坐电梯,但是他发现了一个问题:当他在k楼想要坐电梯去1楼时,如果比他高的楼层有人想坐电梯去1楼,他就必须等待,直到电梯把他楼上的人接完了,才能到他的楼层来接他,于是他非常的苦恼。现在他想问问你,如果他知道某个时刻所有想坐电梯的人所在的楼层,他要等多久电梯才能到他的楼层。

 

关于电梯:

电梯最开始在1楼,每一秒可以上升,或者下降一个楼层。

在同一时刻有多个请求时,电梯会优先处理最高楼层的请求。

输入描述:

第一行,两个整数:n,k,代表在当前时刻总共有n个去1楼的请求,小sun在第k楼,数据保证k不为1
第二行,共n个整数a_i,每个整数代表一个请求所在的层数。

输出描述:

输出一行,他要等待的时间(秒)
示例1

输入

复制
5 3
1 2 3 5 5

输出

复制
6

备注:

数据范围: