AtCoder Regular Contest 031
C
積み木
AtCoder
⌀ 1880
原题
← BD →
翻译中…

Problem Statement

翻译中…

全て高さの違う $N$ 個の積み木が $1$ 列に並べられています。隣り合う $2$ 個の積み木を並べ替える操作を何回か行って、一番高い積み木から順に左右へ低くなっていくようにする時、必要な最小の交換回数を求めてください。すなわち、並べ替えた後の $i$ 番目の積み木の高さを $A_{i}$ とし、一番高い積み木の位置を $T$ としたとき、

翻译中…
  • $A_{1}$ < $A_{2}$ < ... < $A_{T}$ > ... > $A_{N-1}$ > $A_{N}$
翻译中…

Input

翻译中…

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

翻译中…

N
B1 B2 ... BN

翻译中…
  • $1$ 行目には、積み木の数 $N (1≦N≦10^5)$ がスペース区切りで与えられる。
  • $2$ 行目には、積み木の高さ $B_{i} (1≦B_{i}≦N)$ が最初に並べられている順に与えられる。
  • ただし、積み木の高さは全て異なる。すなわち、$B_{i}≠B_{j} (i≠j)$ が成り立つ。
翻译中…

Output

翻译中…

並べ替えるのに必要な最小の交換回数を出力せよ。出力の末尾には改行をつけること。

翻译中…

部分点

翻译中…

この問題には $2$ つのデータセットがあり、データセット毎に部分点が設定されている。

翻译中…
  • $N≦100$ を満たすデータセット $1$ に正解した場合は $30$ 点が与えられる。
  • 追加制約のないデータセット $2$ に正解した場合は、上記のデータセットとは別に $70$ 点が与えられる。
翻译中…

样例

Input #1
4
2 4 1 3
Output #1
1
Input #2
5
2 4 1 3 5
Output #2
3
Input #3
6
1 2 4 3 5 6
Output #3
1
题目信息
题号
arc031_3
时间限制
2 s
内存限制
256 MB

题面与样例版权归 AtCoder 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。