问题 D: 验证栈序列

问题 D: 验证栈序列

时间限制: 2 Sec  内存限制: 256 MB
提交: 152  解决: 48
[提交][状态][讨论版][命题人:]

题目描述

给出两个序列 pushed 和 poped 两个序列,其取值从 1 到 n(n≤50000)。已知入栈序列是 pushed,如果出栈序列有可能是 poped,则输出 Yes,否则输出 No。为了防止骗分,每个测试点有多组数据。

输入

第一行一个整数 q(q<=100),询问次数。

接下来 q 个询问,对于每个询问:

第一行一个整数 n 表示序列长度;

第二行 n 个整数表示入栈序列;

第三行 n 个整数表示出栈序列;

输出

对于每个询问输出答案。

样例输入

2
5
1 2 3 4 5
1 2 3 4 5
4
1 2 3 4
2 4 1 3

样例输出

Yes
No

提示


样例1解释:



1 入栈之后接着出栈  1



入栈之后接着出栈 2



3 入栈之后接着出栈  3



4 入栈之后接着出栈  4



5 入栈之后接着出栈 5



右边出栈顺序就是 1 2 3 4 5符合 poped ,输出Yes



样例2解释:



1 入栈,不出栈



2 入栈,出栈 2



3 入栈



4 入栈



出栈 4



出栈 3



出栈 1



出栈顺序是 2 4 3 1,不会出现 2 4 1 3,输出No





[提交][状态]