求助
#include<cstdio>
#include<cmath>
#include<iostream>
using namespace std;
long long i,n,j,k,m,o,p,a[1000005]={0},b[1000005]={0},ans=0;
long long ef(long long k)
{
long long l=1,r=n;
while(l!=r)
{
long long mid=(l+r)/2;
if(a[mid]==k) return mid;
else if(k>a[mid]) l=mid+1;
else if(k<a[mid]) r=mid;
}
}
int main()
{
cin>>n>>m;
for(i=1;i<=n;i++)
cin>>a[i],b[a[i]]++;
for(i=1;i<=m;i++)
{
cin>>k;
ans=0;
if(b[k]==0) ans=-1;
else ans=ef(k);
cout<<ans<<' ';
}
return 0;
}```