题解
2023-09-29 18:35:21
发布于:安徽
9阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
int n,m,x;
int a[100005];
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++) cin>>a[i];
//输入
while(m--)
{
cin>>x;
int l=1,r=n;
//二分查找左边界
while(l<r)
{
int mid=(l+r)/2;
if(a[mid]>=x) r=mid;
else l=mid+1;
}
if(a[l]==x) cout<<l<<endl; //判断输出
else cout<<-1<<endl; //输出找不到的情况
}
return 0;
}
这里空空如也
有帮助,赞一个