P72926

Arrival of the General

时间限制: 2s 内存限制: 256MB
描述

国防部派一位将军前来视察由 SuperDuper 上校管辖的绝密特种部队。得知消息后,上校命令 nn 名士兵到阅兵场列队。

军队条例要求士兵按身高非递增的顺序排队。但时间非常紧张,士兵现在是任意顺序站成一排。这位将军视力不好,他判定队列合格的标准是:队列第一个士兵身高为最大值,最后一个士兵身高为最小值。中间士兵的排列不作要求;允许存在多个最大值、多个最小值,只关心队首和队尾。

例如:序列 (4,3,4,2,1,1)(4,3,4,2,1,1) 将军认为是合格的;而 (4,3,1,2,2)(4,3,1,2,2) 是不合格的。

上校每一秒可以交换任意两个相邻士兵。请计算,最少需要多少秒,调整出一将军认可的队列。

输入

第一行一个整数 n (2n100)n\ (2 \le n \le 100),代表士兵人数。

第二行 nn 个整数 a1,a2,,an (1ai100)a_1,a_2,\dots,a_n\ (1\le a_i \le 100),代表从队头到队尾每个士兵的身高,数字之间空格分隔,身高允许重复。

输出

输出一个整数:上校调整队列所需要的最少秒数。

样例输入 1
4
33 44 11 22
样例输出 1
2
样例输入 2
7
10 10 58 31 63 40 76
样例输出 2
10
提示

样例1:交换1、2号;交换3、4号,耗时2秒,得到序列 (44,33,22,11)(44,33,22,11)

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

  1. (10, 10, 58, 31, 63, 40, 76)

  2. (10, 58, 10, 31, 63, 40, 76)

  3. (10, 58, 10, 31, 63, 76, 40)

  4. (10, 58, 10, 31, 76, 63, 40)

  5. (10, 58, 31, 10, 76, 63, 40)

  6. (10, 58, 31, 76, 10, 63, 40)

  7. (10, 58, 31, 76, 63, 10, 40)

  8. (10, 58, 76, 31, 63, 10, 40)

  9. (10, 76, 58, 31, 63, 10, 40)

  10. (76, 10, 58, 31, 63, 10, 40)

  11. (76, 10, 58, 31, 63, 40, 10)