SOJ ONLINE JUDGE

제한된 점프

난이도: Platinum V 출제자: rlatjwls7882 시간 제한: 1000 ms 메모리 제한: 512 MB
다이나믹 프로그래밍덱을 이용한 구간 최댓값 트릭

$1$번부터 $N$번까지 번호가 붙은 칸이 있다. 처음에는 $1$번 칸에 있으며 한 번에 오른쪽으로 $1$칸 이상 $K$칸 이하 이동할 수 있다.

$i$번 칸에 도착할 때 비용 $A_i$를 내야 한다. $1$번 칸의 비용도 낸다고 할 때 $N$번 칸에 도착하는 데 필요한 비용의 최솟값을 출력하라.

입력

첫 번째 줄에 칸의 개수 $N$과 한 번에 이동할 수 있는 최대 거리 $K$가 주어진다. $(2 \leq N \leq 5\,000\,000,\ 1 \leq K < N)$

두 번째 줄에 각 칸의 비용 $A_1,A_2,\ldots,A_N$이 주어진다. $(-10^9 \leq A_i \leq 10^9)$

출력

첫 번째 줄에 칸의 개수 $N$과 한 번에 이동할 수 있는 최대 거리 $K$가 주어진다. $(2 \leq N \leq 5\,000\,000,\ 1 \leq K < N)$

두 번째 줄에 각 칸의 비용 $A_1,A_2,\ldots,A_N$이 주어진다. $(-10^9 \leq A_i \leq 10^9)$

예제 입력 1

7 3
4 2 7 -3 5 1 6

예제 출력 1

7

제출