大哲的书签(大数据版本)
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
Background
大哲同学有一本很喜欢看的哲学书,在这本书里大哲夹上了若干个书签
Description
大哲的生活很仔细,他在每一个书签上都写上了页码,并且插入到了书的对应的地方。
众所周知的是,书一翻开会有两页,简单起见在这里我们这样来定义一本书:
1.这本哲学书没有目录没有前言没有序言,换句话也就是说一翻开就是正文的第一页;
2.这本书的前封皮我们定义为第0页;
3.翻开封皮我们我们看到的左边的一页是第1页,右边的一页是第2页;
4.再翻过来左面的一页是第3页,右面的一页是第4页,以此类推;
5.直到翻到最后一页,按照前面的计算方式,后封皮永远是奇数页。
现在大哲同学想快速的翻到第X页,他只能选择两种方式:
1.一页页地翻(注意:可以从【3,4】翻一页就是【1,2】或【5,6】)
2.借助书签快速的翻开某一页(书签上的数字如果是奇数的话,他可以翻开的页数是【这一页,后一页】;如果是偶数的话,他可以翻开【前一页,这一页】)
现在请问最快需要多少步可以翻到大哲想要的X页
另外需要注意的是,如果第X页是封皮的话,那最小步数是0
Format
Input
第一行输入一个整数P,第P页表示后封皮(P一定为奇数)
第二行输入一个整数X,表示要查找的页码第X页
第三行输入一个整数N,表示插入了N个书签
第四行输入N个整数,a[0...n-1]表示每个书签上的数字(不保证有序,不保证不重复)
Output
输出一个整数,表示最小步数
Sample 1
Input
61
22
5
1 25 3 36 45
Output
3
第1步,借助书签翻开【25,26】
第2步,向前翻一页翻开【23,24】
第3步,向前翻一页翻开【21,22】
翻到要找的页码
Sample 2
Input
5501
125
10
1 100 500 1000 4564 4569 4568 4567 4566 4999
Output
14
Data range
对于100%的数据,满足0<P≤10^9,0≤X,a[]≤P,0≤N≤10^6
Limitation
1s, 256MB for each test case.