这个数组下标为啥这样就不行
int merge_search(int x){
int l=0,r=n-1;
while(l<r)
{
mid=l+r>>1;
if(q[mid]>=x)r=mid;
else l=mid+1;
}
if(q[l]==x)return l;
else return -1;
}
int main(){
cin>>n>>m;
for(int i=0;i<n;i++)scanf("%d",&q[i]);
for(int i=0;i<m;i++)
{
scanf("%d",&p);
int a=merge_search(p);
printf("%d ",a);
}
return 0;
}