题目描述
小T班级共有 n 名学生,每个学生从 1∼n 进行编号。接下来将进行活动彩排,全班同学要排队站成一列。
小T作为班长,已经组织大家排好队了。但是老师看到队形后希望再调整一下,被叫到编号的学生要排到队伍的最后面。
已知每个学生一开始在队伍中的位置,随后老师一共叫了 m 次编号。请问最终队伍的排列是什么样的?
#include<iostream>
using namespace std;
int n,s=0;
int a[100001],b[200001];
int main(){
int x,m,l;
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>l;
a[l]=i;
}
for(int i=1;i<=m;i++){
cin>>x;
s++;
a[x]=n+s;
}
for(int i=1;i<=n;i++){
b[a[i]]=i;
}
for(int i=1;i<=n+s;i++){
if(b[i]){
cout<<b[i]<<" ";
}
}
return 0;
}