#include<bits/stdc++.h>
using namespace std;
int n,m;
int a[100005];
int findp (int a[],int l,int r,int k){
if(l==r){
if(a[l]==k)return l;
else return -1;
}
int mid =(l+r)/2;
if(k<=a[mid]) findp(a,l,mid,k);
else findp(a,mid+1,r,k);
}
int main(){
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
}
int b;
for(int i=0;i<m;i++){
scanf("%d",&b);
printf("%d%*s",findp(a,1,n,b),1,"");
}
return 0;
}
更离谱的是题解也re了
题解链接 https://www.luogu.com.cn/article/fnf91scv