/*
#include<stdio.h>
#include<stdlib.h>
typedef struct
{
int a;
int b;
} data;
int f(int* pa, int* pb)
{
if(*pa>*pb) return 1;
else return 0;
}
int main()
{
int n, i, j;
data arr[50001]={};
scanf("%d", &n);
for(i=0; i<n; i++)
{
scanf("%d", &arr[i].a);
}
for(i=0; i<n; i++)
{
arr[i].b=i;
}
qsort(arr,n,sizeof(data),f);
for(i=0; i<n; i++)
{
arr[i].a=i;
}
for(i=0; i<n; i++)
{
for(j=0; j<n; j++)
{
if(arr[j].b==i)
{
printf("%d ", arr[j].a);
}
}
}
}
탐색 search 찾기
1. 순차탐색
2. 이분탐색 (이진탐색) - 정렬이 되어있는 데이터만
updown game
1 ~ 100
1 -> 50
2 -> 25
3 -> 12
4 -> 6
5 -> 3
6 -> 1
binary search
int bs(int s, int e, int k) // arr[s] ~ arr[e] k값의 위치 리턴
{
}
*/
//#include<stdio.h>
//int a[1000001]={};
//int f(int s, int e, int k)
//{
// if(s>e) return -1;
// int mid=(s+e)/2;
// if(k==a[mid]) return mid+1;
// else if(k>a[mid]) return f(mid+1, e, k);
// else return f(s, mid-1, k);
//
//}
//int main()
//{
// int n, m, i, b;
// scanf("%d", &n);
// for(i=0; i<n; i++)
// {
// scanf("%d", &a[i]);
// }
// scanf("%d", &m);
// for(i=0; i<m; i++)
// {
// scanf("%d", &b);
// printf("%d ", f(0, n-1, b));
// }
//
//}
//main
//
//f(0,5,5) -> f(3,5,5) -> f()
#include<stdio.h>
int a[100001]={};
int f(int s, int e, int k)
{
if(s>e) return -1;
int mid=(s+e)/2;
if(k==a[mid]) return mid+1;
else if(k>a[mid]) return f(mid+1, e, k);
else return f(s, mid-1, k);
}
int main()
{
int i, n, k;
scanf("%d %d", &n, &k);
for(i=0; i<n; i++)
{
scanf("%d", &a[i]);
}
printf("%d", f(0, n-1, k));
}