#P2995. [USACO10NOV] Cow Photographs G

[USACO10NOV] Cow Photographs G

Description

农夫约翰想要给他全部的 N (1 <= N <= 100,000) 头奶牛拍张照片,这些奶牛被方便地编号为 1 到 N,以便他能向朋友们炫耀。

在拍照日,奶牛们会跑到一起形成一条单行队列,位置 i 上是奶牛 c_i (1 <= c_i <= N)。农夫约翰有他自己关于奶牛应该如何排列的想法。

约翰认为奶牛 i 只能站在奶牛 i+1 的左边(对于所有 i,1 <= i <= N-1),并且奶牛 N 只能站在奶牛 1 的左边。当然,没有奶牛会站在队列中第一头(最左边的)奶牛的左边。

奶牛们渴望拍照后承诺的晚餐,因此农夫约翰想尽快拍完照片。奶牛们不太擅长遵循指示,所以他每分钟只能选择一对相邻的奶牛并让它们交换位置。农夫约翰能多快将它们排成某种合适的顺序?

考虑一组 5 头奶牛,其初始排列如下:

左 右

3 5 4 2 1

他可以先交换第二对奶牛:

3 4 5 2 1

然后交换最右边的一对:

3 4 5 1 2

这样就得到一个合适的排列,只需要两分钟的奶牛交换。

Input Format

* 第 1 行:一个整数:N

* 第 2 行到第 N+1 行:第 i+1 行包含第 i 头奶牛在队列中的编号:c_i

Output Format

* 第 1 行:农夫约翰将奶牛排成某种合适顺序所需的最少时间,以分钟为单位。

5 
3 
5 
4 
2 
1 

2 

Hint

(由 ChatGPT 4o 翻译)