1795: 查找小于k的最大数

Memory Limit:128 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:49 Solved:21

Description

       给定一个己递增有序的整数数组 a。要求你用倍增法快速找出 a数组中小于k的最大数。
       比如在一个数组a {579111316} 中查找最大的小于13的数字。
       朴素做法:从第一个数开始,一个一个往后枚举,查找。
       二分做法:每次将数列分割一半判断,并且进一步查找子区间。
       倍增做法:设定一个增长长度 p 和已确定长度 l,现在要确定 a[l+p] 是否满足条件,若满足条件(比12小),则 p 成2倍增长;否则 p 缩小范围(试着缩小范围判断条件)。

Input

输入第一行两个正整数n,k,表示a数组中数据个数与 k。

第二行为n个己递增有序的正整数,数据间空一格分隔。


Output

输出一个正整数为a数组中小于k的最大数。

Sample Input Copy

10 13
3 5 9 10 11 12 13 14 17 19

Sample Output Copy

12

HINT

1=<n<=300000

数组a中的数 <=10^9