# 注意: [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)