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

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

개구리

시간 제한1초메모리 제한128 MB

요약
제1사분면에 겹치지도 닿지도 않게 놓인 정사각형들과 점프 거리 d가 주어질 때, 원점을 포함한 정사각형에서 도달할 수 있는 정사각형 위 점의 x+y 최댓값을 구한다.
난이도

어려움10점 중 8점

유형
그래프, BFS, 기하, 정렬
정답자
아직 제출이 없습니다

문제

연꽃잎이 떠 있는 연못에 개구리가 한 마리 살고 있다. 이 개구리는 연꽃잎에서 연꽃잎으로 뛰어 옮겨 다니기를 좋아한다.

연못은 좌표평면에서 x≥0x \ge 0, y≥0y \ge 0인 영역이다. 연못에 떠 있는 각 연꽃잎은 한 변의 길이가 rr이고 각 변이 좌표축과 평행한 정사각형이다. 모든 연꽃잎의 크기는 같고, 서로 겹치지 않으며, 두 연꽃잎의 테두리가 맞닿는 경우도 없다.

그림 1

그림 1

좌표 (0,0)(0, 0)을 포함하는 연꽃잎 SS는 항상 존재하며, 개구리는 처음에 이 연꽃잎 위에 놓여 있다.

개구리는 한 번의 점프로 최대 거리 dd만큼 이동할 수 있으나, 동·서·남·북 네 방향으로만 점프할 수 있다. 따라서 개구리가 어떤 연꽃잎 AA 위에서 점프하면 도달할 수 있는 영역은 그림 2, 그림 3의 어두운 부분과 같다. 개구리가 연꽃잎 AA에서 다른 연꽃잎 BB로 점프하려면 이 영역 안에 BB의 일부가 들어 있어야 한다(그림 2). 그림 3처럼 이 영역에 BB의 테두리가 닿기만 해도 점프할 수 있다고 본다.

그림 2

그림 2

그림 3

그림 3

개구리는 연꽃잎 위를 자유롭게 이동하거나 연꽃잎에서 연꽃잎으로 점프하여 여러 연꽃잎에 도달할 수 있다. 개구리가 도달할 수 있는 연꽃잎 위의 점 (a,b)(a, b) 가운데 (0,0)(0, 0)에서 가장 먼 점까지의 거리를 구하여라. 여기서 점 (a,b)(a, b)의 (0,0)(0, 0)으로부터의 거리는 a+ba + b로 계산한다.

입력

첫째 줄에 연꽃잎의 개수 NN과 연꽃잎 한 변의 길이 rr이 공백을 사이에 두고 주어진다 (1≤N≤1000001 \le N \le 100000, 1≤r≤100001 \le r \le 10000).

다음 NN개의 줄에는 각 연꽃잎의 왼쪽 아래 꼭짓점 좌표 xx와 yy가 공백을 사이에 두고 주어진다 (0≤x,y≤100000000 \le x, y \le 10000000).

마지막 줄에는 개구리가 한 번의 점프로 이동할 수 있는 최대 거리 dd가 주어진다 (1≤d≤10000001 \le d \le 1000000).

출력

개구리가 (0,0)(0, 0)으로부터 도달할 수 있는 가장 먼 점까지의 거리를 한 줄에 출력한다.

예제2

  1. 예제 1

    입력
    5 3
    0 0
    1 4
    5 5
    6 1
    10 4
    1
    
    예상 출력
    20
    
  2. 예제 2

    입력
    12 3
    0 0
    4 0
    9 0
    17 0
    13 2
    2 5
    7 5
    19 6
    3 9
    9 9
    15 9
    19 10
    2
    
    예상 출력
    24