만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

욕심 많은 흰개미

시간 제한2초메모리 제한512 MB

요약
흰개미가 남은 막대 중 h_j에서 거리를 뺀 값이 최대인 막대로 이동하며 모든 막대를 먹을 때 이동한 가로 거리의 합을 구한다.
난이도

보통10점 중 7점

유형
그리디, 분할 정복, 구현, 수학
정답자
아직 제출이 없습니다

문제

수평선 위에 n개의 나무 막대가 수직으로 세워져 있다. 막대는 왼쪽에서 오른쪽으로 1번부터 n번까지 번호가 매겨져 있다. 각 막대 i (1 ⩽ i ⩽ n)는 위치 xi에 놓여 있고 높이 hi를 갖는다.

한 흰개미가 모든 막대를 하나씩 먹으려 한다. 임의의 막대 s (1 ⩽ s ⩽ n)에서 먹기 시작한다. 그다음, 막대 i를 먹은 후 흰개미는 다음에 먹을 막대를 다음 방법으로 선택한다. 남은 막대 j 중에서 hj −|xi −xj| 값이 최대인 것을 선택한다. 동점이면 |xi −xj|가 최소인 것을 선택한다. 그래도 동점이면 가장 왼쪽 막대를 선택한다.

여러분의 과제는 흰개미가 모든 막대를 먹기 위해 이동한 (수평) 거리의 합을 구하는 것이다.

입력

입력의 첫 줄에는 막대의 개수 n과 시작 막대 번호 s가 공백으로 구분되어 주어진다. (1 ⩽ s ⩽ n ⩽ 100 000) 막대는 다음 n개의 줄에 설명된다. 1 + i번째 줄 (1 ⩽ i ⩽ n)에는 i번째 막대의 정보 xi (|xi| ⩽ 109)와 hi (1 ⩽ hi ⩽ 109)가 공백으로 구분되어 주어진다. 또한 각 i (1 ⩽ i ⩽ n − 1)에 대해 xi < xi+1이다.

출력

흰개미가 이동한 총 거리를 나타내는 정수 하나를 출력한다.

예제1

  1. 예제 1

    입력
    5 3
    1 3
    4 8
    8 2
    10 4
    11 1
    
    예상 출력
    17