废话不多说,上代码:
(对啦,我已经会 STL 做法啦。。)
#include<bits/stdc++.h>
#define int long long
#define float double
#define N 1000005
using namespace std;
int n,m,a[N],q,l,r,mid;
signed main()
{
ios::sync_with_stdio(0);
cin>>n>>m;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
while(m--)
{
cin>>q;
l=1;
r=n;
while(l+1<r)
{
mid=(l+r)/2;
if(a[mid]>=q)
{
r=mid-1;
}
else
{
l=mid+1;
}
}
if(a[r]==q)
{
cout<<r<<' ';
}
else if(a[l]==q)
{
cout<<l<<' ';
}
else
{
cout<<-1<<' ';
}
}
}