零件质量互不相同,因此最重、最轻各恰好一个。相邻交换可以把任意零件移动到任意位置,移动距离等于下标差。目标是让这两个极值分别占据下标 0 与 n−1(0 起始),谁在左端不限。
设最重零件的下标为 pmax,最轻零件的下标为 pmin。两种放置方案互不干扰地计算步数后取较小值即可:
流水线上依次摆放着 n 个零件,第 i 个零件的质量为 wi,且所有质量互不相同。因此存在唯一的最重零件和唯一的最轻零件。
需要把最重零件与最轻零件分别调整到流水线的两端(谁在左端、谁在右端均可)。每次操作可以交换相邻两个零件的位置。
请计算完成调整所需的最少相邻交换次数。
零件个数不超过 10^5,每个零件的质量为正整数且不超过 10^9,且两两不同。
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.