시간 제한
메모리 제한
시간 제한
1초
메모리 제한
128 MB
직각시(RightAngleles)의 도로는 무한한 정사각 격자를 이룬다. 임의의 두 도로는 서로 평행하거나 수직이며, 이웃한 평행 도로 사이의 거리는 항상 1 단위이다. 동서 방향으로 뻗은 도로를 가로 도로라 하고 남쪽에서 북쪽으로 가면서 연속한 정수로 번호를 매기며, 남북 방향으로 뻗은 도로를 세로 도로라 하고 서쪽에서 동쪽으로 가면서 연속한 정수로 번호를 매긴다. 각 교차점은 그 지점에서 만나는 가로 도로 번호와 세로 도로 번호로 나타낸다.
모든 시민은 자기 집 입구가 있는 교차점에 살며, 한 교차점에 여러 시민이 살 수도 있다.
시장은 중앙 가로 도로(번호 0)와 어떤 세로 도로 V가 만나는 교차점에서 불꽃놀이를 열려고 한다. 불꽃은 그 교차점에서 만나는 두 도로, 즉 중앙 가로 도로와 세로 도로 V를 따라서만 보인다. 안전을 위해 모든 관람객은 발사 지점에서 적어도 S 단위 이상 떨어져 있어야 한다. 구체적으로 시민은 다음 두 종류의 지점에서만 불꽃놀이를 볼 수 있다.
예를 들어 S=2이면, 중앙 가로 도로에서는 세로 도로 V−1, V, V+1 위의 교차점을 제외한 모든 교차점에서, 그리고 세로 도로 V에서는 가로 도로 −1, 0, 1 위의 교차점을 제외한 모든 교차점에서 불꽃놀이를 볼 수 있다.
시민은 도로를 따라서만 이동하므로, 어떤 관람 지점까지 이동하는 거리는 지나는 단위 구간의 개수와 같다. 관심 있는 각 시민은 허용된 관람 지점 중 가장 가까운 곳으로 이동하며, 시장은 모든 시민이 이동하는 거리의 합이 최소가 되도록 세로 도로 V를 고른다.
이 최소 이동 거리 합을 구하는 프로그램을 작성하라.
첫째 줄에 두 양의 정수 N과 S가 공백으로 구분되어 주어진다. N은 시민의 수(N≤105), S는 안전 거리(S≤106)이다.
다음 N개의 줄에는 각각 두 정수 Hi와 Vi가 공백으로 구분되어 주어진다(−109≤Hi,Vi≤109). 이는 i번째 시민이 사는 교차점의 가로 도로 번호 Hi와 세로 도로 번호 Vi이다.
시민들이 불꽃놀이를 보기 위해 이동해야 하는 최소 총 거리(단위)를 정수 하나로 출력한다.