#include<bits/stdc++.h>
using namespace std;
const int qwq = 1e6 + 10;
int a[qwq];
int n,m;
int er(int num){
int l = 1,r = n;
while(l != r){
int m = (l + r) / 2;
if(a[m] > num){
r = m;
}else{
l = m + 1;
}
}
if(a[l] == num){
return l;
}else{
return -1;
}
}
int main(){
cin>>n>>m;
for(int i = 1;i <= n;i++){
cin>>a[i];
}
int t;
while(m--){
cin>>t;
cout<<er(t)<<" ";
}
return 0;
}
我觉得不应该,理论上说我的代码是正确的