#A3904P. 排队插队记数
排队插队记数
【题目描述】
现在有一群同学排队,他们的身高不一样。
同学们一个一个地进入队伍,每次新来的同学都会先站在队伍的最后,然后不断向前“交换”位置,直到站到一个合适的位置,使得队伍从前到后按身高从低到高排列。
例如:
- 现在队伍是
100 120 150 - 如果新来的同学身高是
110,他会:- 先站在队尾
100 120 150 [110] - 与前面 150 交换 →
100 120 [110] 150 - 与前面 120 交换 →
100 [110] 120 150 - 到达合适位置,交换了 2 次
- 先站在队尾
我们想知道:
当所有同学都依次进入队伍时,总共发生了多少次“交换”操作。
【输入格式】
- 第一行一个整数 ,表示有 个同学。
- 第二行包含 个整数,表示每个同学依次进入队伍的身高。
【输出格式】
- 输出一个整数,表示总共发生的交换次数。
【样例输入】
5
100 120 110 130 115
【样例输出】
3
【样例解释】
进入顺序如下:
- 100 → 直接进队,无交换。
- 120 → 直接在队尾,无交换。
- 110 → 向前与 120 交换 1 次。
- 130 → 在队尾,无交换。
- 115 → 向前与 130 交换 1 次,再与 120 交换 1 次。
总交换次数 = 1 + 1 + 1 = 3
【数据范围】
- 身高