地精排序¶
- 参考时间限制:0.5 秒。
- 实际时限:标准程序在目标环境的最慢用例中位耗时乘以 2,再按 0.5 秒向上取整。
- 内存限制:128 MB。
- 参考评测环境与测量
背景故事¶
一个地精沿着一排格子移动,每个格子放着一个二维向量。他发现相邻向量次序颠倒时,就交换它们并向左退一步。你想知道他检查相邻向量的步骤会执行多少次。
形式化问题描述¶
给定从左到右排列的 \(n\) 个两两不同的二维向量 \(v_i=(x_i,y_i)\) .向量按字典序比较:先比较第一维,第一维相等时比较第二维。
地精初始位于第 \(1\) 个格子。按照以下步骤移动,直到结束任务:
(0) 若当前位置为 1,向右移动一格;然后执行 (1)。
(1) 检查当前向量是否小于左邻向量。
若小于,则交换这两个向量,向左移动一格,回到 (0)。
否则执行 (2)。
(2) 若当前位置为 n,结束;否则执行 (3)。
(3) 向右移动一格,回到 (1)。
求步骤 (1) 的执行总次数,无论其中的条件是否成立。
输入格式¶
第一行一个整数 \(n\) .接下来 \(n\) 行,每行两个整数 \(x_i,y_i\) .
输出格式¶
输出一行一个整数,表示步骤 (1) 的执行次数。
样例¶
样例 1¶
输入¶
3
0 0
0 1
1 -1
输出¶
2
样例 2¶
输入¶
4
4 0
3 0
2 0
1 0
输出¶
12
样例 3¶
输入¶
5
0 2
-1 8
0 -5
2 -8
-1 7
输出¶
14
样例解释¶
样例一已经有序,地精检查两次。样例二每次插入下一个向量,都需要退回第一个格子;共执行 \(12\) 次检查。
数据范围与保证¶
对 100% 数据:
\(2\le n\le5\times10^5\) ;\(|x_i|,|y_i|\le10^9\) .向量两两不同,但同一维的坐标可以相等。
| 分值比例 | 额外条件 |
|---|---|
| 100% | 无额外条件 |