用的二分,结果0分,求调
原题
#include <bits/stdc++.h>
using namespace std;
int main(){
int n,m,a[100005];
cin>>n>>m;
for(int i=1;i<=n;i++) cin>>a[i];
while(m--){
int l=1,r=n,mid,t,ans;
cin>>t;
while(l<=r){
mid = (l+r)/2;
if(t<=a[mid]){
r=mid-1;
ans=mid;
}
else l=mid+1;
}
if(a[ans]==t) cout<<ans<<' ';
else cout<<-1;
}
return 0;
}