#include<iostream>
#include<algorithm>
using namespace std;
inline int read(int x) {
char ch = getchar();
x = 0;
while (ch >= '0' && ch <= '9') {
x = x * 10 + ch - '0';
ch = getchar();
}
return x;
}
inline void write(int x) {
if(x > 9)
write(x / 10);
putchar(x % 10 + '0');
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int n, m, q, a[1000000];
bool b = 0;
n = read(n), m = read(m);
for (register int i = 0; i < n; ++i)
a[i] = read(a[i]);
int l = 0, r = n - 1, mid;
for (register int i = 0; i < m; ++i) {
b = 0;
l = 0, r = n - 1, mid = (l + r) / 2;
q = read(q);
while (l < r) {
if (b)
break;
if (mid == l || mid == r)
b = 1;
if (a[mid] == q) {
if (mid)
while (a[mid - 1] == a[mid])
mid--;
write(mid + 1);
cout << ' ';
break;
}
if (a[mid] < q) {
l = mid;
mid = (l + r) / 2;
}
else if (a[mid] > q) {
r = mid;
mid = (l + r) / 2;
}
}
if (a[mid] != q)
cout << "-1 ";
}
return 0;
}
是二分出问题了吗