#GOC13325. 排序

排序

题目描述

在出发去牧场吃早餐之前,农场主约翰正试图对他的n头奶牛(1≤n≤100)进行分类,这些牛的编号为1…n。目前,奶牛排成一行,顺序是p1,p2,p3,…,pN,农夫约翰站在奶牛p1前面。他想重新安排奶牛的顺序,使它们按照1,2,3,…,n的顺序排列,奶牛1在农夫约翰旁边。在任一时间,约翰可以指挥奶牛沿着直线移动k步,范围是1…n-1,但只有最前面的奶牛听到约翰的指挥,她经过的那几头牛会悠闲地向前走,给她留出空间,让她在它们后面排队。

 

例如:有4头奶牛,开始的顺序是4, 3, 2, 1,如果约翰指示沿着这条线向下移动2步,那么顺序变成:3, 2, 4, 1,则下次接收指令的就进行移动的是3。约翰急于完成排序,请帮助他找到对奶牛排好序所需的步骤。

 

 

Input (From File: sleepy.in)

 

第一行一个整数N。

 

第二行N个互不相同的1-N的正整数,表示奶牛的初始顺序。

 

 

Output (To File: sleepy.out)

 

输出一个整数,表示要把奶牛排成1—N的顺序至少需要多少步。

 

 

Sample Input 1

 

4

1 2 4 3

Sample Output 1

 

3