出栈序列[2]
时间限制:1秒 内存限制:256M
【题目描述】
给定一个由 \(n\) 个元素构成的序列,你需要将其中的元素按顺序压入一个大小为 \(c\) 的栈并弹出。元素按它们的出栈顺序进行排列,会得到一个新的序列。我们知道,这样的序列会有很多种,请输出所有新序列中第一个元素最小的序列(若第一个元素最小的序列有多个,则令第二个尽可能小;若仍有多个,则令第三个最小,以此类推)。
【输入格式】
第一行,两个数 \(n,c\)。
第二行 \(n\) 个数,为序列中 \(n\) 个元素的值
【输出格式】
输出 \(n\) 个数,为满足要求的序列。
【输入输出样例】
Input
6 3
5 2 3 8 7 4
Output
2 3 5 4 7 8
【数据限制】
对于 \(30\%\) 的数据,\(0<n≤12\)。
对于 \(60\%\) 的数据,\(0<n≤5000\)。
对于 \(100\%\) 的数据,\(0<c≤n≤10000\),元素大小均在 \(2*10^9\) 以内。
【来源】
Mr.he