#J1037. 数字位移

数字位移

题目描述

给定一个长度为 nn 的排列 p=[p1,p2,...,pn]p=[p_1,p_2,...,p_n]。你想把这个排列排成有序的,但是出于一些限制,每次你只能从如下两种操作中选择一种进行:

  • 左移操作:从排列 pp 中取出第 mm 个数字 pmp_m,将其移动到排列的头部。
  • 右移操作:从排列 pp 中取出第 mm 个数字 pmp_m,将其移动到排列的尾部。

操作中的数字 mm 将会在一开始就给出,且排序过程中不能改变。小码弟想知道至少通过几次操作能使原排列 pp 变为有序的(严格递增)。请你编写一个程序帮助他吧。

输入格式

第一行一个整数 n(1n9)n(1\le n\le 9),表示排列的长度。
第二行输入 nn 个整数 p1,p2,...,pn(1pin)p_1,p_2,...,p_n(1\le p_i\le n),表示初始排列。
第三行输入一个整数 m(1mn)m(1\le m\le n)

输出格式

若能够通过若干次操作使排列变为单调递增的,则输出最小操作次数。否则输出 NO

输入输出样例 #1

输入 #1

5
3 1 4 5 2
3

输出 #1

4

输入输出样例 #2

输入 #2

5
1 3 4 2 5
1

输出 #2

NO