IOI 2020 将在新加坡举行,由新加坡国立大学(NUS)计算机学院主办,并获得新加坡教育部(MOE)和新加坡展览及会议署(SECB)的支持。
举办如此大型活动的挑战之一是为活动寻找一个合适的地点。一个常见的建议是选择一个能减少参赛者旅行总距离的地点。因此,你的任务是编写一个程序来寻找这样一个地点。
假设 IOI 2020 有 $N$ 名参赛者。假设第 $i$ 个参赛者的家位于笛卡尔平面上的 $(X_i, Y_i)$。你的目标是找到一个举办 IOI 2020 的地点,使得所有参赛者的旅行距离总和最小。假设选择的 IOI 2020 举办地点为 $(X, Y)$,则第 $i$ 个参赛者的旅行距离为 $(X, Y)$ 与 $(X_i, Y_i)$ 之间的曼哈顿距离,即 $|X - X_i| + |Y - Y_i|$。
如果存在多个使旅行距离总和最小的地点,你可以输出其中任意一个坐标。活动地点可以与某个参赛者的家重合。但是,活动地点 $(X, Y)$ 的 $X$ 和 $Y$ 必须是整数。也可能有多于 1 名参赛者住在相同的坐标。在这种情况下,你需要分别计算他们的旅行距离(假设他们将分开旅行)。
输入格式
你的程序必须从标准输入读取。
输入的第一行包含一个整数 $N$,表示参赛者的总人数。
接下来的 $N$ 行,每行包含两个整数。第 $i$ 行包含 $X_i$ 和 $Y_i$,表示第 $i$ 个参赛者的家位于 $(X_i, Y_i)$。
输出格式
你的程序必须仅输出到标准输出。
在同一行输出两个由空格分隔的整数 $(X, Y)$,表示使旅行距离总和最小的活动地点坐标。
数据范围
每个测试用例的最大运行时间为 1.0s。你的程序将在满足以下限制的输入实例上进行测试:
| 子任务 | 分值 | $N$ | $X_i, Y_i$ |
|---|---|---|---|
| 1 | 3 | $N = 2$ | $0 \le X_i, Y_i \le 10^9$ |
| 2 | 20 | $2 \le N \le 1\,000$ | $0 \le X_i \le 1\,000, Y_i = 0$ |
| 3 | 28 | $2 \le N \le 100\,000$ | $0 \le X_i \le 10^9, Y_i = 0$ |
| 4 | 13 | $2 \le N \le 100$ | $0 \le X_i, Y_i \le 100$ |
| 5 | 17 | $2 \le N \le 1\,000$ | $0 \le X_i, Y_i \le 10^9$ |
| 6 | 19 | $2 \le N \le 100\,000$ | $0 \le X_i, Y_i \le 10^9$ |
样例
输入样例 1
2 1 0 4 0
输出样例 1
3 0
说明 1
该样例对所有子任务均有效。
请注意,这不是唯一会被接受的输出。特别是,对于样例 1,以下备选输出也将被接受:
1 02 04 0
无论我们选择 $(1, 0)$、$(2, 0)$、$(3, 0)$ 还是 $(4, 0)$,总旅行距离之和都将是 $3$。
输入样例 2
6 1 0 3 0 5 0 7 0 9 0 11 0
输出样例 2
7 0
说明 2
该样例仅对子任务 2 至 6 有效。
请注意,这不是唯一会被接受的输出。特别是,对于样例 2,以下备选输出也将被接受:
5 06 0
输入样例 3
9 1 16 3 12 5 6 7 10 9 8 11 4 13 14 15 2 17 18
输出样例 3
9 10
说明 3
该样例仅对子任务 4 至 6 有效。
请注意,这是样例 3 唯一被接受的输出。