不知道时间复杂度/_ \
#include<bits/stdc++.h>
using namespace std;
int a[200005],b[200005];
vector<int>v;
int g[200005];
int main(){
int m,n;
scanf("%d%d",&m,&n);
for(int i=1;i<=m;i++){
scanf("%d",&a[i]);
}
for(int i=1;i<=n;i++){
scanf("%d",&b[i]);
g[b[i]]++;
}
int k=0;
for(int i=1;i<=m;i++){
v.insert(upper_bound(v.begin(),v.end(),a[i]),a[i]);
if(g[i]>0){
while(g[i]--){
cout<<v[k]<<endl;
k++;
}
}
}
}