代码如下:
#include<iostream>
using namespace std;
int a[1000005],sum[100005];
int main()
{
int n,m;
scanf("%d%d",&n,&m);
for(int i=1; i<=n; i++)
scanf("%d",&a[i]);
for(int i=1; i<=m; i++){
int ans;
scanf("%d",&ans);
int l=1,r=n,mid,p=n;
while(l<=r){
mid=(l+r)/2;
if(a[mid]>ans)
r=mid-1;
else if(a[mid]<ans)
l=mid+1;
if(a[mid]==ans){
p=mid;
break;
}
}
sum[i]=p;
}
int c;
for(int i=1; i<=m; i++){
if(sum[i]==n)
cout<<"-1"<<" ";
else{
c=i;
while(1){
c--;
if(sum[c]!=sum[i]);
break;
}
cout<<c+1<<" ";
}
}
return 0;
}