PivotOJ

대피소

시간 제한: 3000ms메모리 제한: 1024MB출처: KOI 2023 1차BOJ 28215

문제

22차원 평면의 KOI 마을에 NN개의 집이 있다. 각 ii번째 집의 위치는 (Xi,Yi)(X_i , Y_i)이다.

ii번째 집과 jj번째 집 사이의 거리는 XiXj+YiYj|X_i - X_j | + |Y_i - Y_j |이다. 즉, 두 집 사이의 거리는 XX의 차이와 YY의 차이의 합이다. 예를 들어, (1,6)(1, 6)에 위치한 집과 (2,4)(2, 4)에 위치한 집은 (21)+(64)(2 - 1) + (6 - 4)33만큼 떨어져 있다.

KOI 마을은 재난 발생 시 주민들이 안전하게 대피할 수 있도록 KK개의 집에 대피소를 설치할 계획이다. 모 든 주민의 안전을 고려하여, 집에서 가장 가까운 대피소로 이동할 때 가장 긴 거리가 최소가 되도록 대피소를 설치할 KK개의 집을 선택하고, 그때 대피소와 가장 멀리 떨어진 집과의 거리를 구하려고 한다.

아래는 55개의 집이 각각 (1,5)(1, 5), (3,0)(3, 0), (3,3)(3, 3), (6,12)(6, 12), (8,9)(8, 9)에 위치한 마을의 예이다.

이 마을에 22개의 대피소를 설치하려고 한다. 만약 (3,0)(3, 0)(1,5)(1, 5)에 위치한 집에 대피소를 설치한다면 설치하지 않은 나머지 세 집에서 가까운 대피소까지의 거리가 각각 33, 1111, 1212이고, 이 중 가장 먼 거리는 1212이다.

하지만 (3,3)(3, 3)(6,12)(6, 12)에 위치한 집에 대피소를 설치하면 가장 가까운 대피소와 가장 멀리 떨어져 있는 집은 (8,9)(8, 9)에 위치한 집으로, (6,12)(6, 12)55만큼 떨어져 있다. 대피소를 어떻게 설치해도 최대 거리가 55보다 작아지는 경우가 없으므로 55가 구하고자 하는 거리가 된다.

KOI 마을의 집들의 위치와 설치할 대피소의 개수가 주어질 때, 대피소를 설치하는 모든 방법 중 가장 가까운 대피소와 집 사이의 거리 중 가장 큰 값이 가장 작을 때의 거리를 구해라.

입력

첫 번째 줄에 NNKK가 공백을 사이에 두고 주어진다.

다음 NN개의 줄에는 집의 위치가 주어지는데, 이 중 ii (1 ≤ i ≤ N)번째 줄에는 XiX_iYiY_i가 공백을 사이에 두고 주어진다.

출력

첫 번째 줄에 답을 출력한다.

예제

예제 1

입력
5 2
1 5
3 0
3 3
6 12
8 9
출력
5

예제 2

입력
4 2
0 0
0 5
5 0
5 5
출력
5

예제 3

입력
4 1
1 0
2 0
3 0
4 0
출력
2

예제 4

입력
2 1
20 23
5 14
출력
24
코드를 제출하려면 로그인하세요.