청소
면접 대비시간 제한2초메모리 제한1024 MB
연속된 K개 구역을 우선순위가 높은 순서대로 방문할 때 이동 거리 합의 최솟값을 구합니다.
문제
준석이는 청소 업체에서 일한다. 준석이가 청소할 장소는 1번부터 N번까지 차례로 번호가 붙은 일렬의 N개 구역으로 나뉘어 있다. i번 구역은 i-1번 구역, i+1번 구역과 인접해 있다. 인접한 두 구역 사이를 이동하려면 1만큼 걸어야 한다.
각 구역에는 우선순위가 있다. i번 구역의 우선순위 는 1 이상 N 이하의 정수이며, 이 값이 클수록 우선순위가 높다. 임의의 두 구역의 우선순위는 항상 다르다.
준석이는 오늘 이 구역 중 K개의 구역을 먼저 청소하려고 한다. 단, 준석이가 청소하는 K개의 구역은 반드시 연속해야 한다. 또한 청소할 때 선택한 구역들 안에서는 우선순위가 높은 구역부터 낮은 구역 순서로 이동하며 청소해야 한다.
두 구역이 멀리 떨어져 있으면 이동하는 데 시간이 오래 걸린다. 그래서 준석이는 이동 거리의 합이 최소가 되도록 연속한 K개의 구역을 고르려고 한다. 이동 거리가 최소가 되도록 구역을 골랐을 때의 총 이동 거리를 출력한다.
입력
첫째 줄에 청소할 구역의 길이 N과 오늘 청소할 구역의 개수 K가 공백으로 구분되어 주어진다. 둘째 줄에는 각 구역의 우선순위 이 공백으로 구분되어 주어진다.
출력
K개의 구역을 선택했을 때 가능한 총 이동 거리 중 최솟값을 출력한다.
제한
, 이고, 이면 이다.