QOJ.ac

QOJ

時間限制: 4 s 記憶體限制: 2048 MB 總分: 25

#2711. 循环小镇

统计

有些城市拥有复杂的道路网络,需要高级图论知识才能分析。但“环形镇”(Loop Town)不是这样!环形镇有一条环绕城镇的圆形道路。镇上有 $N$ 名居民,他们住在环路周围的 $N$ 个不同房屋中。镇上还有 $N$ 个办公室,每名居民在不同的办公室工作。

环形镇的道路长度为 $L$。每座建筑物的位置用 $0$ 到 $L-1$ 之间的整数表示。由于道路是圆形的,位置 $0$ 和 $L-1$ 是相邻的。保证所有 $2N$ 座建筑物的位置各不相同。

每天早上,所有 $N$ 名居民同时走出家门来到路上。他们需要沿着道路走到各自工作的办公室入口。当每名居民都到达其办公室入口时,他们会同时进入。

然而,一场大流行病现在降临到环形镇,打乱了这一日常作息。为了防止疾病传播,居民现在在步行上班时必须遵守社交距离。由于环形道路相当狭窄,这意味着两人在上班途中相遇并交叉(一人必须暂时离开路径让另一人通过)是非常不便的。假设所有居民共同努力以实现这一目标,请问最少的交叉总次数是多少?

输入格式

第一行包含两个整数 $N$ 和 $L$ ($1 \le N \le 1\,000\,000, 1 \le L \le 10^9$)。

接下来的 $N$ 行中,第 $i$ 行包含两个整数 $a_i$ 和 $b_i$ ($0 \le a_i, b_i < L$),其中 $a_i$ 和 $b_i$ 分别表示第 $i$ 名居民的住所和办公室的位置。保证所有 $2N$ 个位置各不相同。

在总共 25 分的测试点中,有 12 分满足 $N \le 5\,000$。

在总共 25 分的测试点中,另有 6 分满足 $N \le 100\,000$。

输出格式

在一行中输出最少的交叉总次数。

样例

输入 1

3 100
10 50
30 20
60 40

输出 1

0

说明 1

由于道路是圆形的,没有人需要交叉。

输入 2

4 100
30 70
10 12
60 75
90 50

输出 2

1

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.