1040: 车厢调度

Memory Limit:128 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:129 Solved:12

Description

(HTML版本题面比较崩,为了更好的阅读体验,请下载PDF)
某城市有一个火车站,铁轨铺设如下图所示。有n节车厢从主轨道左边驶入车站,进站顺序编号为1n





为了重组车厢,你可以借助辅轨道停放车厢(驶入辅轨道的车厢必须按照相同的顺序驶出)。也就是说,对于每个车厢,可以从主轨道开到右边,也可以沿辅轨道开到右边,但一旦车厢停放进辅轨道,便只能沿辅轨道进入主轨道右边。
例如,有5节车厢以1、2、3、4、5的顺序依次进入,要求以3、4、1、5、2的顺序驶出,则可以先将1、2车厢停放入辅轨道,将3、4沿主轨道开向右边,接着,使停放在辅轨道的1车厢驶出,将5沿主轨道开向右边,最后将停放在辅轨道的2车厢驶出,完成调度。
你的任务是判断是否能让车厢按照1、2、……、n的顺序进入主轨道左边并驶出车站,如果能够按照给定的顺序驶出,输出”Yes”;否则,输出”No”。

Input

输入文件名为 train.in。 
有若干组测试数据,第一行为一个正整数T,表示测试数据的组数。
对于每组测试数据,第一行是一个正整数n,表示有n节车厢以1、2、……、n的顺序从车站左边驶入。
第二行有n个数字ai,以空格分隔,描述要求驶出的顺序。

Output

输出文件名为 train.out。 
输出共T行,表示第i种调度要求是否可行。

Sample Input Copy

2
5
3 4 1 5 2
3
3 2 1

Sample Output Copy

Yes
No

HINT

【数据范围】

对于100%的数据1T1001n 105, 1ain,保证ai唯一且合法