시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
2 초 | 1024 MB | 458 | 123 | 107 | 56.021% |
준석이는 청소 업체에 다니고 있다. 준석이가 청소할 장소는 $1$번부터 $N$번까지 차례로 번호가 붙은 일렬의 $N$개의 구역으로 나누어져 있다. $i$번 구역은 $i-1$번과 $i+1$번 구역과 인접해 있어, 두 인접한 구역 사이를 이동하려면 $1$만큼 걸어야 한다.
각 구역에는 우선순위가 있다. $i$번 구역의 우선순위 $A_i$는 $1$이상 $N$이하의 정수로 이 값이 클수록 우선순위가 높다. 임의의 두 구역의 우선순위는 항상 다르다.
준석이는 오늘 이 구역 중 $K$개의 구역을 먼저 청소하려고 한다. 단, 준석이가 청소하는 $K$개의 구역은 반드시 연속해야 한다. 또한 청소할 때 선택한 구역들 내에서는 우선순위가 높은 구역부터 낮은 구역 순서대로 이동하며 청소해야 한다.
두 구역이 멀리 떨어져 있으면 이동하는 시간이 오래 걸리기 때문에, 준석이는 이동 거리의 합이 최소화되도록 연속한 $K$개의 구역을 선택하려고 한다. 이동 거리가 최소가 되도록 구역을 선택했을 때 총 이동 거리를 출력한다.
첫째 줄에 청소할 구역의 길이 $N$과 오늘 청소할 구역의 개수 $K$가 공백으로 구분되어 주어진다.
둘째 줄에 각 구역의 우선순위 $A_1,A_2,\cdots ,A_N$이 공백으로 구분되어 주어진다.
$K$개의 구역을 선택했을 때 가능한 총 이동 거리 중 최솟값을 출력한다.
5 3 3 2 4 1 5
3
모든 경우의 이동 거리가 $3$으로 동일하므로 정답은 $3$이다.
8 4 4 3 2 5 8 1 6 7
4
이 중 $2$번 구역부터 $5$번 구역까지 청소하는 경우가 이동 거리가 가장 작으므로 정답은 $4$이다.
3 1 1 2 3
0
Contest > BOJ User Contest > Good Bye, BOJ > Hello, BOJ 2023! B번