QOJ.ac

QOJ

时间限制: 5 s 内存限制: 512 MB 总分: 100

#16304. 在 Bajhattan 会面

统计

中等规模的商人们想要在 Bajhattan 组织一次会议。Bajhattan 的地图类似于一个无限的二维网格,其中大道对应于形式为 $x = a$ 的垂直线($a$ 为整数),街道对应于形式为 $y = b$ 的水平线($b$ 为整数)。每条大道和街道相交形成一个坐标为 $(a, b)$ 的交叉路口。从坐标为 $(a, b)$ 的交叉路口出发,可以在一分钟内移动到坐标为 $(a \pm 1, b)$ 或 $(a, b \pm 1)$ 的交叉路口。

共有 $n$ 名商人,编号从 $1$ 到 $n$。会议开始前,第 $i$ 名商人($1 \le i \le n$)住在坐标为 $(x_i, y_i)$ 的酒店。

商人们希望尽快在某个交叉路口会合。一旦他们决定了会合地点,所有人将同时从各自的酒店出发,选择最短路径前往该地点。众所周知,等待最后一个人,甚至是最后两三个人到达是很尴尬的。因此,你需要针对 $1$ 到 $n$ 范围内的每个整数 $k$,确定一个交叉路口 $(x, y)$,使得如果会议在该路口举行,恰好有 $k$ 名商人最后到达;如果不存在这样的路口,则说明不存在。换句话说,我们希望恰好有 $k$ 名商人在最后一刻同时到达会议地点。

输入格式

输入的第一行包含一个整数 $n$($1 \le n \le 10^6$),表示商人的数量。 接下来的 $n$ 行描述了他们的酒店位置。第 $i$ 行($1 \le i \le n$)包含两个整数 $x_i, y_i$($-10^9 \le x_i, y_i \le 10^9$),描述了第 $i$ 名商人所住酒店的坐标。可能有多名商人住在同一家酒店。

输出格式

你需要输出 $n$ 行。第 $k$ 行($1 \le k \le n$)应包含两个整数 $a_k, b_k$($-10^{18} \le a_k, b_k \le 10^{18}$),表示如果会议在交叉路口 $(a_k, b_k)$ 举行,恰好有 $k$ 名商人最后到达;如果不存在这样的路口,则输出单词 NIE。如果存在多个这样的路口,你可以输出其中任意一个。

样例

输入格式 1

5
-1 0
3 0
-2 -1
1 2
1 -1

输出格式 1

1 0
0 -1
0 0
1 -1
NIE

说明

下图展示了 $i = 3$ 时最晚到达的商人的路径示例。

最晚到达的商人的路径示例

输入格式 2

3
0 3
0 3
1 1

输出格式 2

0 2
1 1
NIE

测试用例说明

测试用例 0a 和 0b 为上述样例。此外:

0c: $n = 42$,第 $i$ 名商人住在坐标为 $x_i = i, y_i = i + (i \pmod 3)$ 的酒店。 0d: $n = 10 \cdot 10^4 = 100,000$,在每个满足 $|x|, |y| \le 50$ 的交叉路口 $(x, y)$ 处恰好有十名商人。 0e: $n = 3$,酒店分别位于 $(10^9, 10^9), (-10^9, 10^9), (-10^9, -10^9)$。 0f: $n = 4 \cdot 10^4$,第 $i$ 名商人住在坐标为 $x_i = i \cdot 10^4, y_i = i \cdot (-1)^i \cdot 10^4$ 的酒店。 0g: $n = 10^6$,每个酒店均位于四条直线 $y = \pm x \pm 10^9$ 中的某一条上。

子任务

测试集分为以下子任务。每个子任务的测试由一个或多个独立的测试组组成。

子任务 数据范围 分值
1 $n, x_i , y_i \le 50$ 13
2 $ x_i , y_i \le 50$ 16
3 $n \le 3$ 且所有 $x_i, y_i$ 均为偶数 19
4 对于每个酒店 $x_i \ge 0$ 且 $ y_i = x_i$ 23
5 无附加限制 29

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.