atcoder#AGC003C. [AGC003C] BBuBBBlesort!

[AGC003C] BBuBBBlesort!

配点 : 600600

問題文

高橋君は、誕生日に長さ NN の数列をもらいました。i(1iN)i(1 \leq i \leq N) 番目の要素は整数 AiA_i です。どの 22 つの要素も、互いに異なります。 高橋君はこの数列を単調増加になるように並べ替えたいです。 高橋君は超能力者なので、以下の 22 つの操作が任意のタイミングでできます。

  • 操作11: 数列の連続する 22 つの要素を選び、その 22 つの順番を反転する。
  • 操作22: 数列の連続する 33 つの要素を選び、その 33 つの順番を反転する。

高橋君は操作22は好きですが、操作11は嫌いです。この 22 種類の操作を使って数列を単調増加になるように並び替えるときの、操作11の最小回数を求めてください。

制約

  • 1N1051 \leq N \leq 10^5
  • 0Ai1090 \leq A_i \leq 10^9
  • iji \neq j ならば AiAjA_i \neq A_j
  • 入力はすべて整数である。

入力

入力は以下の形式で標準入力から与えられる。

NN

A1A_1

:

ANA_N

出力

操作11の最小回数を出力せよ。

4
2
4
3
1
1

以下の操作で、単調増加な数列にすることができます。

  • まず、後ろの 33 つの要素を反転する。数列は 2,1,3,42,1,3,4 となる。
  • 次に、前の 22 つの要素を反転する。数列は 1,2,3,41,2,3,4 となる。

この操作列において、連続する 22 つの要素を入れ替える操作の回数は 11 です。これより少ない回数で単調増加な数列は作れないので、11 を出力します。

5
10
8
5
3
2
0