#ATarc132b. [ARC132B] Shift and Reverse
[ARC132B] Shift and Reverse
题目描述
给定一个 的排列 。你可以对该排列进行如下两种操作,操作次数不限、顺序任意:
- 将整个排列翻转。即,将 变为 。
- 将首项移动到末尾。即,将 变为 。
请你求出将该排列变为升序排列所需的最小操作次数。保证对于给定的输入,使用上述操作一定可以将排列变为升序排列。
输入格式
输入从标准输入读入,格式如下:
输出格式
输出将排列变为升序排列所需的最小操作次数。
样例 1
输入
3
1 3 2
输出
2
样例 2
输入
2
2 1
输出
1
样例 3
输入
10
2 3 4 5 6 7 8 9 10 1
输出
3
样例 4
输入
12
1 2 3 4 5 6 7 8 9 10 11 12
输出
0
说明/提示
限制条件
- 是 的一个排列
- 保证通过题目描述的操作一定可以将 变为升序排列
样例解释 1
可以按如下方式用 次操作将排列变为升序排列:
- 将首项移动到末尾,排列变为 。
- 将整个排列翻转,排列变为 。 无法在少于 次操作内完成,因此答案为 。
样例解释 2
无论使用哪种操作,只需 次即可将排列变为升序排列。无法在少于 次操作内完成,因此答案为 。
样例解释 3
可以按如下方式用 次操作将排列变为升序排列:
- 将整个排列翻转,排列变为 。
- 将首项移动到末尾,排列变为 。
- 将整个排列翻转,排列变为 。 无法在少于 次操作内完成,因此答案为 。
样例解释 4
无需进行任何操作。
由 ChatGPT 4.1 翻译