#include<bits/stdc++.h> using namespace std; int main(){ int a[100010]; int f[100010] = {0};//标记某个数是否出现过的数组(类似桶排序的那个概念) int n,m,x,i,j,t; cin>>n; cin>>m; for(i = 0;i < m;i++){ cin>>a[i]; } //输出 for(i = m - 1;i >= 0;i--){ //如果a[i]在前面已出现则不输出 if(f[a[i]] == 0){ cout<<a[i]<<" "; f[a[i]] = 1; } } //看一下1~n中哪些数没有放入数组的,放进来 for(i = 1;i <= n;i++){ if(f[i] == 0){ cout<<i<<" "; } } } /************************************************************** Problem: 1527 User: admin Language: C++ Result: Accepted Time:168 ms Memory:2732 kb ****************************************************************/