题目描述
把 依次进栈(进栈过程中随时可以从栈顶弹出,弹出的数不再回去),于是得到一个出栈序列。现在给出一个 到 的排列,判断它是否可能是一个出栈序列:可能输出 yes,不可能输出 no。
模拟一遍即可:手里拿着「下一个该进栈的数」,盯着目标序列的当前目标——栈顶不是目标就继续进栈,进完了还凑不出目标,这个序列就判死刑。
输入格式
第一行一个整数 ()。
第二行 个整数 ,是 到 的一个排列。
输出格式
一行,可能输出 yes,不可能输出 no。
样例
输入:
3
2 1 3
输出:
yes
1 进、2 进、弹 2、弹 1、3 进、弹 3——出栈顺序正好是 2 1 3。
数据范围
。栈是后进先出,拿先进先出的队列来模拟,答案自然对不上号。