AtCoder Regular Contest 031
翻译中…
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
题目信息
题面与样例版权归 AtCoder 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。