#ATagc003c. [AGC003C] BBuBBBlesort!

[AGC003C] BBuBBBlesort!

题目描述

高桥君在生日时收到了一个长度为 NN 的数列。第 ii 个元素是整数 AiA_i。任意两个元素都互不相同。高桥君想要将这个数列重新排列成单调递增的顺序。

高桥君拥有超能力,可以在任意时刻进行以下两种操作:

  • 操作 11:选择数列中连续的两个元素,交换它们的顺序。
  • 操作 22:选择数列中连续的三个元素,反转这三个元素的顺序。

高桥君喜欢操作 22,但不喜欢操作 11。请你求出,在使用这两种操作将数列变为单调递增时,操作 11 的最小次数。

输入格式

输入通过标准输入给出,格式如下:

NN A1A_1 A2A_2 \ldots ANA_N

输出格式

输出操作 11 的最小次数。

样例 1

输入

4
2
4
3
1

输出

1

样例 2

输入

5
10
8
5
3
2

输出

0

说明/提示

限制条件

  • 1N1051 \leq N \leq 10^5
  • 0Ai1090 \leq A_i \leq 10^9
  • 如果 iji \neq j,则 AiAjA_i \neq A_j
  • 所有输入均为整数。

样例解释 1

可以通过如下操作将数列变为单调递增:

  • 首先,将最后三个元素反转,数列变为 2,1,3,42,1,3,4
  • 然后,将前两个元素交换,数列变为 1,2,3,41,2,3,4

在这个操作序列中,连续两个元素交换的操作次数为 11。无法通过更少的操作 11 次数得到单调递增的数列,因此输出 11

由 ChatGPT 4.1 翻译