어느 나라에 몇몇 마을들이 큰 강을 끼고 발전하고 있다. 마을들은 0부터 M까지 강을 따라 번호가 주어진다. 각 마을 간 거리는 정확히 1마일이다.
Mirko는 0번 마을에 산다. Mirko는 보트로 사람들이 마을을 이동할 수 있게 도와주는 비즈니스를 하고 있다. 그는 오늘 그가 사는 마을부터 마을 M까지 가야하는데 몇몇 사람들을 태워가야한다.
N명의 사람이 이동하려고 한다. 우리는 그 사람들의 출발점과 도착점을 알고 있다. Mirko는 원하는 만큼 사람을 보트에 태울 수 있다.
A는 마을 2에서 마을 8로 가고, B는 마을 6에서 마을 4로 가려 한다고 가정하자. Mirko는 언제나처럼 마을 0에서 A을 태우러 마을 2로, 그리고 B를 태우러 마을 6으로 간 후 마을 4로 돌아와 B를 내려주고 마을 8로 가 A를 내려주고 본인의 목적지인 M으로 간다. 이 시나리오는 아래의 예제에 주어진다.
Mirko가 모두를 목적지에 데려다주고 자신의 목적지까지 가는데 이동하는 최소 거리를 구하는 프로그램을 만드시오
입력 2 10 2 8 6 4 출력 14 입력 8 15 1 12 3 1 3 9 4 2 7 13 12 11 14 11 14 13 출력 27
출처:coci 번역:KOINICHI