아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

블록 쌓기

시간 제한1초메모리 제한128 MB

요약
어떤 연속한 k개 열의 높이를 모두 같게 만들기 위해 필요한 최소 블록 추가·제거 횟수를 구한다.
난이도

보통10점 중 5점

유형
슬라이딩 윈도우, 누적 합, 정렬, 수학
정답자
아직 제출이 없습니다

문제

바이테아사르는 nn개의 기둥에 블록을 쌓아 두었습니다. ii번째 기둥의 높이는 hih_i이며, 이는 그 기둥을 이루는 블록의 개수를 뜻합니다.

그는 정수 kk를 하나 골라, 연속한 kk개의 기둥의 높이가 모두 같아지도록 만들려고 합니다. 이때 다음 두 종류의 동작만 사용할 수 있습니다.

  • 임의의 기둥 맨 위에 블록 하나를 올린다 (여분의 블록은 항상 충분히 있습니다).
  • 임의의 기둥 맨 위에서 블록 하나를 내린다.

각 동작은 블록 한 개를 올리거나 내리는 것이며, 한 번을 1회로 셉니다. 연속한 kk개의 기둥을 모두 같은 높이로 만들기 위해 필요한 최소 동작 횟수를 구하세요.

입력

첫째 줄에 두 정수 nn과 kk가 공백으로 구분되어 주어집니다 (1≤k≤n≤100 0001 \le k \le n \le 100\,000).

이어지는 nn개의 줄 중 ii번째 줄에는 ii번째 기둥의 높이 hih_i가 주어집니다 (0≤hi≤1 000 0000 \le h_i \le 1\,000\,000).

출력

연속한 kk개의 기둥을 모두 같은 높이로 만들기 위해 필요한 최소 동작 횟수를 정수 하나로 한 줄에 출력하세요.

예제1

  1. 예제 1

    입력
    5 3
    3
    9
    2
    3
    1
    
    예상 출력
    2