atcoder#AGC047F. [AGC047F] Rooks

[AGC047F] Rooks

Score : 22002200 points

Problem Statement

You are given positions (Xi,Yi)(X_i, Y_i) of NN enemy rooks on an infinite chessboard. No two rooks attack each other (at most one rook per row or column).

You're going to replace one rook with a king and then move the king repeatedly to beat as many rooks as possible.

You can't enter a cell that is being attacked by a rook. Additionally, you can't move diagonally to an empty cell (but you can beat a rook diagonally).

(So this king moves like a superpawn that beats diagonally in 4 directions and moves horizontally/vertically in 4 directions.)

For each rook, consider replacing it with a king, and find the minimum possible number of moves needed to beat the maximum possible number of rooks.

Constraints

  • 2N2000002 \leq N \leq 200\,000
  • 1Xi,Yi1061 \leq X_i, Y_i \leq 10^6
  • XiXjX_i \neq X_j
  • YiYjY_i \neq Y_j
  • All values in input are integers.

Input

Input is given from Standard Input in the following format.

NN

X1X_1 Y1Y_1

X2X_2 Y2Y_2

\vdots

XNX_N YNY_N

Output

Print NN lines. The ii-th line is for scenario of replacing the rook at (Xi,Yi)(X_i, Y_i) with your king. This line should contain one integer: the minimum number of moves to beat MiM_i rooks where MiM_i denotes the maximum possible number of beaten rooks in this scenario (in infinite time).

6
1 8
6 10
2 7
4 4
9 3
5 1
5
0
7
5
0
0

See the drawing below. If we replace rook 3 with a king, we can beat at most two other rooks. The red path is one of optimal sequences of moves: beat rook 1, then keep going down and right until you can beat rook 4. There are 7 steps and that's the third number in the output.

path

x-coordinate increases from left to right, while y increases bottom to top.

Starting from rook 2, 5 or 6, we can't beat any other rook. The optimal number of moves is 0.

5
5 5
100 100
70 20
81 70
800 1
985
985
1065
1034
0
10
2 5
4 4
13 12
12 13
14 17
17 19
22 22
16 18
19 27
25 26
2
2
9
9
3
3
24
5
0
25