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

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

모이는 교차로

시간 제한3초메모리 제한256 MB

요약
모든 집에서 맨해튼 거리 d 이내인 격자점을 골라 이동 거리 합이 가장 작아지는 값을 구하고 없으면 impossible을 출력합니다.
난이도

보통10점 중 7점

유형
기하, 정렬, 누적 합, 이분 탐색
정답자
아직 제출이 없습니다

문제

가상의 도시 픽티시아의 시민들은 더는 못 참겠다. 도시는 커지기만 하고 그만큼 지루해진다. 픽티시아에는 가로 도로와 세로 도로만 있고, 이웃한 평행 도로 사이의 간격은 언제나 같다. 이 간격을 거리 11로 둔다.

시민 여러 명이 시청에 불만을 알리려고 교차로 한 곳에 모여 시위하기로 했다. 문제는 어느 교차로에 모이느냐다. 교차로마다 큰 차이가 없으니 모두가 이동하는 거리의 합이 가장 작아지는 교차로 (x∗,y∗)(x^*, y^*)를 고르자는 의견이 나왔다. 시민은 모두 교차로 옆에 살기 때문에, (x,y)(x, y)에 사는 시민이 이동하는 거리는 ∣x−x∗∣+∣y−y∗∣|x - x^*| + |y - y^*|이다.

그런데 멀리 사는 시민은 제시간에 도착하지 못할 수도 있다. 그래서 모이는 교차로는 모든 시민에게서 거리 dd 이하여야 한다고 정했다. 이 조건을 지키면서 이동 거리의 합을 가장 작게 하는 교차로를 찾아라.

입력

  • 첫째 줄에 시민의 수 nn (2≤n≤1000002 \le n \le 100000)이 주어진다.
  • 다음 nn개 줄에 각 시민이 사는 집의 좌표 xx와 yy (0≤x,y≤1090 \le x, y \le 10^9)가 주어진다.
  • 마지막 줄에 각 시민이 이동해야 하는 최대 거리 dd (0≤d≤2×1090 \le d \le 2 \times 10^9)가 주어진다.

여러 시민이 같은 교차로에 살 수도 있다.

출력

모든 시민이 이동하는 거리의 합이 가장 작을 때, 그 합을 한 줄에 출력한다. 모든 시민에게서 거리 dd 이하인 교차로가 하나도 없으면 대신 impossible을 출력한다.

예제3

  1. 예제 1

    입력
    5
    3 1
    4 1
    5 9
    2 6
    5 3
    10
    
    예상 출력
    18
    
  2. 예제 2

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

    입력
    5
    3 1
    4 1
    5 9
    2 6
    5 3
    4
    
    예상 출력
    impossible