CSES 3307 - Nearest Campsites II
1.0s 512M一座營地用方格盤表示,每個格子裡可能有一個營位,營位的狀態是「已預訂」或「空閒」。兩個格子 \((x_1, y_1)\) 與 \((x_2, y_2)\) 之間的距離定義為曼哈頓距離 \(|x_1 - x_2| + |y_1 - y_2|\)。
你的任務是求出每個空閒營位到最近的已預訂營位的距離。
輸入格式
第一行有兩個整數 \(n\) 和 \(m\):已預訂營位與空閒營位的數量。
接下來 \(n\) 行描述已預訂營位的位置,每行有兩個整數 \(x\) 和 \(y\)。
接下來 \(m\) 行描述空閒營位的位置,每行有兩個整數 \(x\) 和 \(y\)。
你可以假設每個格子裡最多只有一個營位。
輸出格式
輸出 \(m\) 個整數:依照輸入的順序,每個空閒營位到最近的已預訂營位的距離。
範例輸入 1
4 2
1 1
5 2
2 6
4 7
1 3
7 5
範例輸出 1
2 5
說明:下圖是這座營地的地圖:
第一個空閒營位(在左邊)到最近的已預訂營位的距離是 \(2\),第二個空閒營位(在右邊)到最近的已預訂營位的距離是 \(5\)。
限制
- \(1 \le n, m \le 10^5\)
- \(1 \le x, y \le 10^6\)
題目來源
題目來自 CSES Problem Set(Antti Laaksonen),授權 CC BY-NC-SA 4.0;本頁為翻譯,以相同授權分享。
登入後即可撰寫程式並提交評測。
登入