#include <iostream> using namespace std; const int MAXN = 100010; // 假设一个足够大的数组大小,可根据实际情况调整 int main() { int n, m; cin >> n >> m; int a[MAXN]; // 用于存储队列元素,相当于模拟整个队列 int pos[MAXN]; // 记录每个元素当前在队列中的位置索引 // 初始化队列元素和位置索引 for (int i = 1; i <= n; i++) { a[i] = i; pos[i] = i; } // 处理每条指令 for (int i = 0; i < m; i++) { int x; cin >> x; int curPos = pos[x]; // 将编号为x的元素移到最前面,通过交换元素位置来模拟 for (int j = curPos; j > 1; j--) { swap(a[j], a[j - 1]); swap(pos[a[j]], pos[a[j - 1]]); } } // 输出最终的队列 for (int i = 1; i <= n; i++) { cout << a[i] << " "; } cout << endl; return 0; } /************************************************************** Problem: 1527 User: zhuangsongyu Language: C++ Result: Time Limit Exceed ****************************************************************/