마라톤 2
면접 대비시간 제한1초메모리 제한256 MB
1번부터 N번 체크포인트까지 순서대로 이동하면서 중간 지점 최대 K개를 건너뛰어 맨해튼 이동 거리를 최소화합니다.
- 난이도
보통10점 중 5점
- 유형
- 동적 계획법
- 정답자
- 아직 제출이 없습니다
문제
농장의 젖소가 건강하지 않다고 생각한 농부 존은 젖소를 위한 마라톤 대회를 열었다. 존이 가장 아끼는 젖소 베시도 이 대회에 참가한다.
마라톤 코스는 체크포인트 개로 이루어져 있다. 1번 체크포인트에서 출발해 번호 순서대로 모든 체크포인트를 방문한 뒤 번 체크포인트에서 끝나야 마라톤이 끝난다. 게으른 베시는 대회에 나가되 중간에 있는 체크포인트를 최대 개까지 몰래 건너뛸 수 있다. 단, 1번 체크포인트와 번 체크포인트를 건너뛰면 너무 눈치가 보이니 이 두 체크포인트는 건너뛰지 않을 생각이다.
베시가 체크포인트를 최대 개 건너뛰면서 달린다면, 달려야 하는 최소 거리는 얼마일까?
대회는 도심 한복판에서 열리기 때문에 거리는 택시 거리(맨해튼 거리)로 계산한다. 즉 과 사이의 거리는 다. (는 절댓값 기호다.)
입력
첫째 줄에 체크포인트의 수 과 건너뛸 수 있는 체크포인트의 수 가 주어진다. (, )
이후 개의 줄에 정수가 두 개씩 주어진다. 번째 줄의 첫 번째 정수는 체크포인트 의 좌표, 두 번째 정수는 좌표다. (, )
서로 다른 체크포인트의 좌표는 겹칠 수도 있다. 베시가 체크포인트 하나를 건너뛸 때는 그 번호의 체크포인트만 건너뛰며, 같은 좌표에 있는 다른 체크포인트까지 건너뛰지는 않는다.
출력
베시가 체크포인트를 최대 개 건너뛰고 달릴 수 있는 최소 거리를 출력한다.
힌트
첫 번째 예제에서 베시가 2번과 4번 체크포인트를 건너뛰면 경로는 , , 순서가 되어 거리가 4다. 이보다 짧게 달릴 수는 없다.