Starkiller123 @ 2023-03-20 17:48:12
#include<iostream>
using namespace std;
int n,m,a[100000001],b[100001];
int find(int x){
int l,r,mid;
l=1;
r=x;
while(l<=r){
mid=(l+r)/2;
if(a[mid]<x)r=mid-1;
if(a[mid]>x)l=mid+1;
if(a[mid]==x)return 1;
}
return 0;
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++)
cin>>a[i];
for(int i=1;i<=m;i++)
cin>>b[i];
for(int i=1;i<=m;i++){
if(find(b[i])==1)
cout<<i<<" ";
else
cout<<"-1"<<" ";
}
return 0;
}
by ud2_ @ 2023-03-20 18:08:59
输出这个数字在序列中第一次出现的编号