만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

낙엽 치우기

면접 대비

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

요약
n개의 더미 크기가 주어질 때, 1부터 c 사이에서 연속한 정수 k개로 이루어진 구간을 골라 그 안에 드는 더미 크기의 합을 최소로 만들어야 합니다.
난이도

보통10점 중 5점

유형
정렬, 누적 합, 이분 탐색
정답자
아직 제출이 없습니다

문제

C번 문제에서 에브스티그라프 마당 청소의 결과를 다루었습니다. 이 문제는 결과보다 과정이 궁금한 분들을 위한 것입니다.

청소 중 가장 큰 문제는 땅에 떨어진 낙엽을 에브스티그라프가 만족할 만한 더미로 모으는 것이었습니다. 최종적으로 nn개의 낙엽 더미를 모았고, ii번째 더미에는 정확히 aia_i개의 낙엽이 있습니다. 이후 더미들을 에브스티그라프에게 보여 주었습니다.

에브스티그라프는 모든 더미를 확인하는 데 시간을 쓰고 싶지 않아서 다음 기준으로 작업을 평가합니다.

  1. 먼저 연속된 정수 kk개로 이루어진 구간을 말해 달라고 요청합니다. 즉, r−l+1=kr - l + 1 = k를 만족하는 [l,r][l, r]을 고릅니다.
  2. 그다음 크기가 ll 이상 rr 이하인 더미들의 크기를 모두 더한 합 S=∑l⩽ai⩽raiS = \sum_{l \leqslant a_i \leqslant r} a_i를 계산합니다.

합 SS가 작을수록 청소가 잘 된 것으로 봅니다. 청소를 맡은 사람들이 SS가 최소가 되도록 ll과 rr을 고를 수 있게 도와주세요. 다만 ll과 rr은 음수이거나 지나치게 클 수 없으며, 주어진 cc에 대해 1⩽l⩽r⩽c1 \leqslant l \leqslant r \leqslant c를 만족해야 합니다.

입력

첫 줄에 공백으로 구분된 정수 nn, cc, kk가 주어집니다. 각각 더미의 개수, 선택할 구간의 상한, 구간의 길이입니다. (1⩽n⩽1051 \leqslant n \leqslant 10^5; 1⩽k⩽c⩽1091 \leqslant k \leqslant c \leqslant 10^9)

둘째 줄에는 공백으로 구분된 nn개의 정수 a1,a2,…,ana_1, a_2, \ldots, a_n이 주어집니다. 각각 낙엽 더미의 크기입니다. (1⩽ai⩽1091 \leqslant a_i \leqslant 10^9)

출력

위에서 정의한 합의 최솟값을 한 줄에 출력합니다.

예제4

  1. 예제 1

    입력
    5 10 6
    1 3 5 2 4
    
    예상 출력
    5
    
  2. 예제 2

    입력
    5 10 5
    5 3 4 1 2
    
    예상 출력
    0
    
  3. 예제 3

    입력
    5 6 2
    5 3 1 4 2
    
    예상 출력
    3
    
  4. 예제 4

    입력
    3 10 5
    1 2 7
    
    예상 출력
    2