아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

버섯 따는 트랙터

면접 대비

시간 제한2초메모리 제한32 MB

요약
버섯이 매초 하나씩 자라므로 가로, 세로, 대각선 중 어느 한 줄이 K개 이상을 포함하는 가장 이른 시각을 구합니다.
난이도

보통10점 중 5점

유형
해시맵, 수학
정답자
아직 제출이 없습니다

문제

미르코는 크리스마스 선물로 버섯을 딸 수 있는 트랙터를 받았다. 버섯은 정사각형 목초지에서 자란다. 이 목초지는 좌표평면에서 왼쪽 아래 꼭짓점이 (1,1)(1, 1), 오른쪽 위 꼭짓점이 (105,105)(10^5, 10^5)인 정사각형이다.

처음에는 목초지에 버섯이 하나도 없다. 1초마다 빈자리 한 곳에 새 버섯이 정확히 하나 자라고, 이렇게 해서 모두 NN개가 자란다. ii번째 버섯은 ii초에 자란다.

미르코는 트랙터를 한 번만 몰아서 버섯을 KK개 이상 따려고 한다. 출발점은 목초지의 격자점 중 하나이고, 이동 방향은 목초지의 변과 평행한 방향이나 대각선과 평행한 방향뿐이다. 트랙터가 워낙 빨라서 주행 시간은 무시할 수 있고, 그 속도 때문에 주행 중에 방향을 바꿀 수 없다. 그래서 한 번 주행하면 출발점과 이동 방향이 정하는 직선 위의 버섯을 모두 딴다.

미르코가 원하는 개수만큼 버섯을 따려면 최소 몇 초가 지나야 하는지 구하시오.

입력

첫째 줄에 자라날 버섯의 개수 NN과 미르코가 따려는 버섯의 개수 KK가 주어진다. (2≤N≤1062 \le N \le 10^6, 2≤K≤N2 \le K \le N)

다음 NN개의 줄에는 ii번째로 자란 버섯의 좌표 XiX_i와 YiY_i가 주어진다. (1≤Xi,Yi≤1051 \le X_i, Y_i \le 10^5) 버섯은 빈자리에만 자라므로 좌표가 같은 버섯은 없다.

출력

첫째 줄에 필요한 최소 시간을 초 단위로 출력한다. 한 번의 주행으로 버섯 KK개를 딸 수 없으면 -1을 출력한다.

힌트

첫 번째 예제에서 미르코는 (1,2)(1, 2)에서 출발해 (4,5)(4, 5)에 있는 버섯 쪽으로 이동한다.

예제3

  1. 예제 1

    입력
    4 3
    1 2
    3 4
    3 2
    4 5
    
    예상 출력
    4
    
  2. 예제 2

    입력
    7 4
    3 1
    2 2
    4 1
    3 2
    2 3
    1 4
    1 3
    
    예상 출력
    6
    
  3. 예제 3

    입력
    5 2
    1 1
    2 1
    1 2
    1 3
    1 4
    
    예상 출력
    2