#include<stdio.h>
#include<math.h>
#include<string.h>
#include<stdlib.h>
int a[1000050];//n个数
int b[100050];//m次询问
int main()
{
int n, m;//n个数 m次询问
int left, right, mid;//左下标 右下标 中下标
scanf("%d%d", &n, &m);
for (int i = 0; i < n; i++)
scanf("%d", &a[i]);
for (int i = 0; i < m; i++)
scanf("%d", &b[i]);
for (int i = 0; i < m; i++) {
left = 0,right = n - 1;
while (left <= right) {
mid = left - (left - right) / 2;
if (a[mid] > b[i]) right = mid - 1;
else if (a[mid] < b[i]) left = mid + 1;
else{
while (a[mid]==b[i]) {//待优化
--mid;
}
break;
}
}
if (b[i] - a[mid+1]) {
printf("-1 ");
}
else {
printf("%d ", mid + 2);
}
}
return 0;
}
脑子烧掉了QAQ