#abc474b. Exit Order
Exit Order
题目描述
某电影院有编号为 到 的 个座位,每个座位上都坐着一位观众。
为了缓解拥堵,该电影院按照下面的规则让观众退场:
- 按所坐座位编号从小到大的顺序,把观众每 人分成一组;
- 从座位编号较小的那一组开始依次退场。不过,同一组内观众的退场顺序是任意的。
请注意最后一组的人数可能不足 人。
已知第 个退场的是坐在座位 上的观众。请判断这 位观众是否是按照规则退场的。
输入格式
N
P_1 P_2 ... P_N
输出格式
若 位观众是按规则退场的,输出 Yes;否则输出 No。
输入示例 1
25
1 6 5 7 8 10 2 4 3 9 15 17 12 11 19 20 18 13 14 16 21 23 24 22 25
输出示例 1
Yes
示例 1 说明
位观众被分成座位号 、、 三组。
首先是第 组(座位 )的 人退场,接着是第 组(座位 )的 人,最后是第 组(座位 )的 人。所以这 位观众是按规则退场的。
注意每一组内部的顺序是乱的(比如第 组的顺序是 ),这不影响判定。
输入示例 2
11
11 10 7 2 1 5 6 4 8 9 3
输出示例 2
No
示例 2 说明
第 个退场的是座位 的观众,但他属于第 组(座位 ),而此时应当退场的是第 组(座位 )的人,所以不合规则。
输入示例 3
20
10 9 8 7 6 5 4 3 2 1 20 19 18 17 16 15 14 13 12 11
输出示例 3
Yes
示例 3 说明
每组内部完全逆序,但两组之间的先后关系正确,因此仍然合法。这组数据用来确认:判定只关心「第几个退场的人属于第几组」,与组内顺序无关。
约束条件
- 是 的排列
- 所有输入值均为整数