// 选择一个中点
//递归: 找左边,找右边(缩小规模)
#include <iostream>
using namespace std;
int f(int a[],int low, int high,int key)
{
if(low>high) //当low == high时,这个数就确定了
{
return -1;
}
int mid = (low+high)/2;
int mid_value = a[mid];
if(mid_value < key) //在右边
{
return ( f(a,mid+1,high,key) );
}
else if(mid_value > key) //在左边
{
return ( f(a,low,mid-1,key) );
}
else //就是它了
{
return mid;
}
}
int main()
{
int n,k;
cin >> n >> k;
int a[n];
for(int i=0; i<n; i++)
{
cin >> a[i];
}
cout << "寻找的k值在第 " << f(a,0,n-1,k)+1 << " 的位置" << endl;
return 0;
}