P1750 出栈序列

题目描述

给定一个由 $n$ 个元素构成的序列,你需要将其中的元素按顺序压入一个大小为 $c$ 的栈并弹出。元素按它们的出栈顺序进行排列,会得到一个新的序列。我们知道,这样的序列会有很多种,请输出所有新序列中第一个元素最小的序列(若第一个元素最小的序列有多个,则令第二个尽可能小;若仍有多个,则令第三个最小,以此类推)。

输入格式

第一行,两个整数 $n, c$。 第二行,$n$ 个数,为序列中 $n$ 个元素的值。

输出格式

输出 $n$ 个数,为满足要求的序列。

说明/提示

对于 $40 \%$ 的数据,$n \le 12$; 对于 $100 \%$ 的数据,$1 \le c \le n \le 10000$,元素大小均在 $[1, 2 \times {10}^9]$ 内。