#671. 繁繁的队列

繁繁的队列

繁繁有一个双向队列,队列里有数字1-N这N个数字,繁繁每次可以从队列中任意拿出一个数字,将

其放在队列的头部或者队列的尾部,不停这样操作,直到队列变成升序,求最小操作次数。

输入格式

第一行一个数字N(N<=50000)

接下来N行,每行一个数字

输出格式

一个数表示最小操作次数

数据范围

对于30%的数据,N<=100

对于50%的数据,N<=1000

对于100%的数据,N<=50000

输入样例

输入样例1

5

2

5

3

4

1

输入样例2

4

3

2

1

4

输入样例3

5

4

2

1

3

5

输出样例

输出样例1

2

输出样例2

2

输出样例3

3

样例解释

对于样例1,5个数:2,5,3,4,1

step1:5放到队尾→2,3,4,1,5;

step2:1放到队头→1,2,3,4,5;

需要两步操作