跳转至

地精排序

  • 参考时间限制: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% 无额外条件