题目链接:https://www.luogu.com.cn/problem/T206189
#include<cstdio> #include<algorithm>//用到lower_bound using namespace std; const int MAXN=1e6+10;//注意范围 int n,m,a[MAXN]; int main(){ scanf("%d%d",&n,&m); for(int i=1;i<=n;i++) scanf("%d",&a[i]); while(m--){ int x; scanf("%d",&x); int ans=lower_bound(a+1,a+n+1,x)-a;//二分搜,注意-a if(x!=a[ans]) printf("-1 ");//没有,输出-1 else printf("%d ",ans); } return 0; }