#abc474b. Exit Order

Exit Order

题目描述

某电影院有编号为 11NNNN 个座位,每个座位上都坐着一位观众。

为了缓解拥堵,该电影院按照下面的规则让观众退场:

  • 按所坐座位编号从小到大的顺序,把观众每 1010 人分成一组;
  • 从座位编号较小的那一组开始依次退场。不过,同一组内观众的退场顺序是任意的

请注意最后一组的人数可能不足 1010 人。

已知第 ii 个退场的是坐在座位 PiP_i 上的观众。请判断这 NN 位观众是否是按照规则退场的。

输入格式

N
P_1 P_2 ... P_N

输出格式

NN 位观众是按规则退场的,输出 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 说明

2525 位观众被分成座位号 1101 \sim 10112011 \sim 20212521 \sim 25 三组。

首先是第 11 组(座位 1101 \sim 10)的 1010 人退场,接着是第 22 组(座位 112011 \sim 20)的 1010 人,最后是第 33 组(座位 212521 \sim 25)的 55 人。所以这 2525 位观众是按规则退场的。

注意每一组内部的顺序是乱的(比如第 11 组的顺序是 1,6,5,7,8,10,2,4,3,91,6,5,7,8,10,2,4,3,9),这不影响判定。

输入示例 2

11
11 10 7 2 1 5 6 4 8 9 3

输出示例 2

No

示例 2 说明

11 个退场的是座位 1111 的观众,但他属于第 22 组(座位 112011 \sim 20),而此时应当退场的是第 11 组(座位 1101 \sim 10)的人,所以不合规则。

输入示例 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 说明

每组内部完全逆序,但两组之间的先后关系正确,因此仍然合法。这组数据用来确认:判定只关心「第几个退场的人属于第几组」,与组内顺序无关

约束条件

  • 10N10010 \le N \le 100
  • (P1,P2,,PN)(P_1, P_2, \ldots, P_N)(1,2,,N)(1, 2, \ldots, N) 的排列
  • 所有输入值均为整数