팔정도 모니터링

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

요약
정수 t를 -R 이상 R 이하에서 골라 네 지점 (t,0), (0,t), (t,t), (t,-t)에서 N개 스피커까지 맨해튼 거리 합의 최솟값을 구한다.
난이도

보통10점 중 7점

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

문제

팔정도의 모습

동국대학교 중심에는 팔정도가 있다. 팔정도는 총 여덟 방향으로 뻗어 있으며, 길은 네 직선 x=0x=0, y=0y=0, y=xy=x, y=−xy=-x을 따라 나 있다.

팔정도에서는 매일 오전 8:30∼\sim9:00, 오후 5:40∼\sim6:00까지 라디오 방송을 한다. 방송 담당 채원이는 새 오디오 시스템의 공정성 테스트를 진행하려 한다. 이번 테스트의 목표는 같은 보폭으로 네 방향에 동시에 섰을 때, 네 지점의 청취 비용 합이 최소가 되도록 하는 것이다.

채원이는 각 길마다 모니터 인원 1명씩, 총 네 명을 배치한다. 네 사람은 동시에 같은 보폭 tt로 걸어가 다음 네 지점에 선다:

(t,0),(0,t),(t,t),(t,−t)(t,0), (0,t), (t,t), (t,-t)

여기서 tt는 정수이며 −R≤t≤R-R \le t \le R 범위 안에서만 선택할 수 있다.

현재 팔정도에는 총 NN개의 스피커가 있다. ii번째 스피커의 좌표는 (x_i,y_i)(x\_i, y\_i)이다.

임의의 점 P=(x_p,y_p)P=(x\_p,y\_p)에서의 "거리 기반 비용" F(P)F(P)는 모든 스피커까지의 맨해튼 거리의 합으로 정의한다:

F(P)=∑_i=1N(∣x_p−x_i∣+∣y_p−y_i∣).F(P)=\sum\_{i=1}^{N}\bigl(|x\_p-x\_i|+|y\_p-y\_i|\bigr).

우리는 하나의 tt를 골라 네 지점의 비용 합

G(t)=F(t,0)+F(0,t)+F(t,t)+F(t,−t)G(t)=F(t,0)+F(0,t)+F(t,t)+F(t,-t)

이 가장 작아지도록 하려 한다.

채원이를 도와 G(t)G(t) 의 최솟값을 구해보자!

위는 스피커가 (1,2),(2,1)(1, 2), (2, 1)에 있을때의 예시를 나타낸 것이다. <그림2>를 보면 t=1t = 1일 때 각 사람에 대해서 스피커까지의 맨해튼 거리의 합 즉,G(1)=16G(1) = 16으로 최소이다. 인접한 값 t=0,2t = 0, 2에서는 각각 G(0)=24,G(2)=18G(0) = 24, G(2) = 18로 더 크다. 따라서 최적의 선택은 t=1t = 1이고 출력은 1616이다.

입력

첫째 줄에 두 정수 N,RN, R이 주어진다. 다음 NN개의 줄에 걸쳐 각 스피커의 좌표 x_i,y_ix\_i, y\_i가 주어진다.

출력

G(t)G(t)의 최솟값을 정수 하나로 출력한다.

제한

  • 1≤N<1051 \le N < 10^{5}
  • 1≤R≤1091 \le R \le 10^{9}
  • ∣x_i∣,∣y_i∣≤109|x\_i|, |y\_i| \le 10^{9}
  • x_i≠0x\_i \ne 0, y_i≠0y\_i \ne 0, x_i≠y_ix\_i \ne y\_i, x_i≠−y_ix\_i \ne -y\_i

예제1

  1. 예제 1

    입력
    2 5
    1 2
    2 1
    
    예상 출력
    16