题目:
lower_bound。查找第一个大于等于某元素的,然后判断是否相等即可。
代码:
#include<bits/stdc++.h>
using namespace std;
int A[100000002];
int main()
{
int m,n;
cin>>m>>n;
for(int i=0;i<m;i++) cin>>A[i];
for(int i=0;i<n;i++)
{
int c;
cin>>c;
int cc=lower_bound(A,A+m,c)-A;
if(A[cc]==c) cout<<cc+1<<' ';
else{
cout<<-1<<' ';
}
}
}