RT
#include <bits/stdc++.h>
using namespace std;
int a[1000020];
int n,ans1;
int k,t;
int l,r,mid;
bool check1(int i){
return a[i]<t;
}
int twofen()
{
cin>>t;
if (t<a[1]||t>a[n]){
cout<<-1;
return 0;
}
l=1;
r=n;
while (l<=r)
{
mid=(l+r)>>1;
if (check1(mid))
{
ans1=mid;
l=mid+1;
}
else r=mid-1;
}
if (a[ans1+1]==t)
cout<<ans1+1;
else{
cout<<-1;
}
}
int main()
{
cin>>n>>k;
for (int i=1;i<=n;++i) cin>>a[i];
for (int i=1;i<=k;i++){
twofen();
cout<<" ";
}
}
除了第一个点...其他点都过了...
哪位巨佬可以帮忙找下错啊...