편세권 (Hard)

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

요약
모든 방에 대해 가장 가까운 편의점까지의 맨해튼 거리와 월세의 곱을 구하고 그 최솟값을 출력한다.
난이도

어려움10점 중 8점

유형
분할 정복, 기하, 정렬, 완전 탐색
정답자
아직 제출이 없습니다

문제

왕복 4시간 통학에 지친 현성이는 자취방을 구하려고 한다.

현성이가 방을 고르는 기준은 월세와 편의점까지의 거리뿐이다. 가장 마음에 드는 방을 구하기 위해 현성이는 지도 위의 모든 방에 편세권 점수를 매겨 그 중 편세권 점수가 가장 낮은 집을 고르려고 한다. 편세권 점수의 계산 방식은 다음과 같다.

편세권 점수 = (방에서 가장 가까운 편의점까지의 거리 × 월세)

현성이가 보고 있는 지도는 N×MN \times M 크기의 격자로 이루어져 있다. 지도의 xx행 yy열에 있는 칸의 위치를 (x,y)(x,y)로 나타내자. 방의 위치가 (a,b)(a, b), 편의점의 위치가 (c,d)(c, d)일 때 방에서 편의점까지의 거리는 ∣a−c∣+∣b−d∣|a-c|+|b-d| 로 계산한다.

현성이는 가장 낮은 편세권 점수를 가진 방을 골랐다. 이 방의 편세권 점수는 몇 점일까?

입력

첫 번째 줄에 지도의 크기를 나타내는 정수 NN과 MM, 방의 개수 RR, 편의점의 개수 CC가 공백으로 구분되어 주어진다.

두 번째 줄부터 RR개의 줄에 걸쳐 방의 정보를 나타내는 세 정수 a_ia\_i, b_ib\_i, p_ip\_i가 공백으로 구분되어 주어진다. 이는 ii번째 방이 (a_i,b_i)(a\_i, b\_i)에 있으며, 월세가 p_ip\_i임을 나타낸다.

R+2R+2번째 줄부터 CC개의 줄에 걸쳐 편의점의 정보를 나타내는 두 개의 정수 c_jc\_j, d_jd\_j가 공백으로 구분되어 주어진다. 이는 jj번째 편의점이 (c_j,d_j)(c\_j, d\_j)에 있음을 나타낸다.

모든 방과 편의점의 위치는 서로 다르다. 즉, 한 위치에는 최대 한 개의 방이나 한 개의 편의점만이 있을 수 있다.

출력

첫째 줄에 현성이가 고른 방의 편세권 점수를 출력한다.

제한

  • 2≤N≤5×1052 \le N \le 5\times10^5
  • 2≤M≤5×1052 \le M \le 5\times10^5
  • 2≤R+C≤min⁡(NM,5×105)2 \le R+C \le \min(NM, 5\times10^5)
  • 1≤a_i,c_j≤N1 \le a\_i, c\_j \le N
  • 1≤b_i,d_j≤M1 \le b\_i, d\_j \le M
  • 1≤p_i≤1051 \le p\_i \le 10^5
  • 방과 편의점은 각각 11개 이상 존재한다.

힌트

예제 1번의 경우 월세가 33이고, 편의점까지의 거리가 22인 자취방의 편세권 점수가 66으로 가장 낮다.

예제 2번의 경우 월세가 22이고, 편의점까지의 거리가 22인 자취방의 편세권 점수가 44로 가장 낮다.

예제2

  1. 예제 1

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

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