수열을 정확히 K개의 연속 구간으로 나누어 각 구간 최댓값의 합을 가장 작게 만듭니다.
양의 정수 NNN개로 이루어진 수열 AAA가 주어진다. 이 수열을 정확히 KKK개의 블록으로 나눈다. 블록은 연속한 원소로 이루어지고 비어 있지 않으며, 모든 원소는 정확히 한 블록에 속한다.
분할의 값은 KKK개의 블록에서 각각 가장 큰 원소를 골라 모두 더한 값이다. 주어진 KKK에 대해 분할의 값이 될 수 있는 최솟값을 구하라.
첫째 줄에 두 정수 NNN과 KKK가 주어진다 (1≤K≤N≤20001 \le K \le N \le 20001≤K≤N≤2000).
둘째 줄에 수열의 원소 A1,A2,…,ANA_1, A_2, \ldots, A_NA1,A2,…,AN이 주어진다 (1≤Ai≤1061 \le A_i \le 10^61≤Ai≤106).
KKK개의 블록으로 나눈 분할의 값 중 최솟값을 한 줄에 출력한다.