문제 번호 5059 --택시(Taxi)

5059: 택시(Taxi)

시간 제한: 1 Sec  메모리 제한: 128 MB
제출: 0  해결 문제 수: 0
[제출][채점상황][게시판][:]

문제 설명

Bessie는 농장의 다른 소들을 위하여 택시를 운행하고 있다. 소들은 길이가 M(1 <= M <= 1,000,000,000)인 울타리의 각각 다른 위치에 있었다. 불행히도 소들은 자신들이 서 있는 위치에 계속 있는 것이 지루해졌다. 그래서 Bessie는 친구들을 원하는 곳으로 날라야 한다. Bessie의 차는 너무 작기 때문에, 한 번에 한 마리의 소만 옮길 수 있다. 소들이 타고 내리는 데에는 시간이 걸리지 않는다고 가정한다.

연료를 아끼기 위해, Bessie는 운전해야 하는 거리를 최소화하려고 한다. N마리(1 <= N <= 100,000) 소들의 현재 위치와 가려고 하는 위치가 입력으로 주어질 때, Bessie가 최소한 운행해야 하는 거리를 구하시오. 연료를 아끼기 위해, 소들을 목적지가 아닌 곳에 잠시 내려야 할 수도 있다.

Bessie는 울타리의 왼쪽 끝인 위치 0에서 시작하고, 오른쪽 끝인 위치 M에 도착해야 한다. 

입력

Line 1 : 두 정수 N, M이 주어진다.

Line 2~N+1 : i번째 소의 출발점과 도착점을 나타내는 s_it_i(0 <= s_i, t_i <= M)가 입력으로 주어진다.

출력

Line 1 : Bessie가 최소한 운행해야 할 거리를 출력하시오. 값이 int 범위를 넘을 수도 있다.

입력예시

2 10
0 9
6 5

출력예시

12

도움말

1번 소를 0에서 태우고 6까지 데리고 간다.(6) 그 곳에서 1번 소를 내리게 하고 2번 소를 목적지까지 데려다 준다.(1) 그 후 다시 6으로 돌아와 1번 소를 태우고 목적지까지 데려다 준 후(4) Bessie의 목적지인 10에 도착한다.(1) 따라서 총 거리는 12이다.


출처

[제출][채점상황]