3122: 栈的判断

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:0 解决:0

题目描述

给定 n 个数字,已知这些数字的入栈顺序为 1,2,⋯,�1,2,,n,给定一个出栈顺序 �1,�2,⋯,��a1,a2,,an,请判断它是否是一个合理的出栈顺序。

输入

第一行:单个整数 n
第二行:n 个整数表示 �1,�2,⋯,��a1,a2,,an


  • 1ain
  • 对于 30%30% 的数据,1≤�≤201n20
  • 对于 60%60% 的数据,1≤�≤2,0001n2,000
  • 对于 100%100% 的数据,1≤�≤100,0001n100,000




输出

如果合法,输出 Valid,否则输出 Invalid

样例输入 复制

5
4 5 3 2 1

样例输出 复制

Valid

提示

1 入栈
2 入栈
3 入栈
4 入栈
4 出栈
5 入栈
5 出栈
3 出栈
2 出栈
1 出栈


有人说: 
栈的特点是先进后出,所以当输入了一个数时,要想让出栈顺序合法,就得让它后面比它小的数是逆序排序的,比如 4,5,3,2,1的出栈顺序是合法的,如果改成 4,5,1,2,3 的话就不行了。

来源/分类