比赛 期末考试3 评测结果 AAAAAAAAAAAAAAAAAAAA
题目名称 hope I can be awake 最终得分 100
用户昵称 彭欣越 运行时间 0.212 s
代码语言 C++ 内存使用 3.92 MiB
提交时间 2026-02-11 09:48:15
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=200010;
int n,k,a[N],mk[N];
int ans[N];
int main () {
	freopen("hopeicanbeawake.in","r",stdin);
	freopen("hopeicanbeawake.out","w",stdout); 
    ios::sync_with_stdio(0);
    cin.tie(0),cout.tie(0);
    cin >> n >> k;
    for (int i=1;i<=k;i++) 	{
    	cin >> a[i];
		mk[a[i]]=1;	
	}
	if (k==1) {
		for (int i=n;i>=1;i--) {
			cout << i <<' ';
		}
		return 0;
	}
	int mx=1;
	while (mk[mx]==1) mx++;
	//cout << mx <<endl;
	for (int i=1;i<=k;i++) {
		cout << a[i] <<' ';
		if (mx<a[i]&&i!=k) {
			cout << mx <<' ';
			mk[mx]=1;
		}
		while (mk[mx]==1) mx++;
		if (i==k-1) {
			for (int j=n;j>a[k];j--) {
				mk[j]=1;
				cout << j <<' ';
			}
		}
	}
	for (int i=n;i>=1;i--) {
		if (!mk[i]) cout << i <<' ';
	}
    return 0;
}