我的代码:
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll n,m,a[100005];
int find(int x){
int left = 1,right = n;
int middle = (left + right) / 2;
while(left < right){
if(a[middle] == x) return middle;
else if(x < a[middle]) middle = right;
else middle = left + 1;
}
return -1;
}
int main(){
cin >> n >> m;
for(int i = 1;i <= n;i ++){
cin >> a[i];
}
for(int i = 1;i <= m;i ++){
int x;
cin >> x;
cout << find(x) << " ";
}
return 0;
}
没有输出,求助