# 注意: [0,K] 所以K+1
def main(T,K,ds):
INF = 10**18
# 很贴心的设置了ds长度为T-1,注意要i-1访问
dp = [[[INF,INF] for _ in range(K+1)] for _ in range(T)]
dp[0][0][1] = 0
for i in range(1,T):
for k in range(K+1):
if k-1>=0:
dp[i][k][0]=dp[i-1][k-1][1]+ds[i-1]
dp[i][k][1]=min(dp[i-1][k])
# print(f"{dp[i]}")
res = min(dp[-1][-1])
if res >= INF:
return -1
return res
if __name__ == "__main__":
T = int(input())
K = int(input())
ds = list(map(int,input().split()))
res = main(T,K,ds)
print(res)

京公网安备 11010502036488号