CF144A.Arrival of the General

传统题 时间 2000 ms 内存 256 MiB 3 尝试 1 已通过 1 标签

Arrival of the General

题目描述

国防部派一位将军前来视察 Super Secret Military Squad,该部队由 Colonel SuperDuper 指挥。得知消息后,Colonel 命令所有 nn 名士兵在操场上集合。

根据军事条令,士兵们应按照身高不递增顺序排列。但由于时间紧迫,士兵们只是随意排成了一行。然而,将军眼神不太好,他只要求队伍的第一个士兵身高最高,最后一个士兵身高最低。请注意,其他士兵的排列顺序无关紧要,包括存在多个身高最大或最小的士兵的情况。只有第一名和最后一名士兵的身高重要。

例如,将军会认为身高序列 (4,3,4,2,1,1)(4, 3, 4, 2, 1, 1) 排列正确,但认为 (4,3,1,2,2)(4, 3, 1, 2, 2) 排列错误。

每秒钟,Colonel 可以交换任意两个相邻的士兵。请你帮助他计算,至少需要多少秒才能让队伍排列成将军认为正确的样子。

输入格式

第一行输入一个整数 nn2n1002 \leq n \leq 100),代表士兵的数量。第二行输入 nn 个整数 a1,a2,,ana_1, a_2, \ldots, a_n1ai1001 \leq a_i \leq 100),表示从队伍最前面到最后每位士兵的身高。这些数字用空格隔开。a1,a2,,ana_1, a_2, \ldots, a_n 不一定互不相同。

输出格式

输出一个整数,表示将队伍变为将军满意状态所需的最小秒数。

说明/提示

在第一个样例中,Colonel 需要将第一名和第二名士兵交换,然后将第三名和第四名士兵交换。总共需要 2 秒。士兵队伍最终顺序为 (4,3,2,1)(4, 3, 2, 1)

在第二个样例中,Colonel 可以按照以下顺序交换士兵:

  1. (10,10,58,31,63,40,76)(10,\,10,\,58,\,31,\,63,\,40,\,76)
  2. (10,58,10,31,63,40,76)(10,\,58,\,10,\,31,\,63,\,40,\,76)
  3. (10,58,10,31,63,76,40)(10,\,58,\,10,\,31,\,63,\,76,\,40)
  4. (10,58,10,31,76,63,40)(10,\,58,\,10,\,31,\,76,\,63,\,40)
  5. (10,58,31,10,76,63,40)(10,\,58,\,31,\,10,\,76,\,63,\,40)
  6. (10,58,31,76,10,63,40)(10,\,58,\,31,\,76,\,10,\,63,\,40)
  7. (10,58,31,76,63,10,40)(10,\,58,\,31,\,76,\,63,\,10,\,40)
  8. (10,58,31,76,63,10,40)(10,\,58,\,31,\,76,\,63,\,10,\,40)
  9. (10,76,58,31,63,10,40)(10,\,76,\,58,\,31,\,63,\,10,\,40)
  10. (76,10,58,31,63,10,40)(76,\,10,\,58,\,31,\,63,\,10,\,40)
  11. (76,10,58,31,63,40,10)(76,\,10,\,58,\,31,\,63,\,40,\,10)

由 ChatGPT 5 翻译

样例

4
33 44 11 22
2
7
10 10 58 31 63 40 76
10

在线编程 IDE

建议全屏模式获得最佳体验