列表

详情


NC243335. 小竹关禁闭

描述

妈妈成功将小竹救了出来,她觉得小竹实在是太笨了,决定关小竹一周禁闭。可是小竹哪里能忍受失去自由,他早就偷藏了一部手机用于联系你,请求你帮助他逃离。

你通过观察发现他房间内有 n 个可用于制成绳子的物品,第 i 个的长度为 a_i 。当你使用第 i 个物品制作绳子时,其右侧的 k 个物品(不含第i个物品)就无法再被用于制作绳子 。最终,小竹用选择的物品制成绳子,绳子的长度是所选择物品的长度之和。

小竹想知道,他能制作的绳子长度最长为多少?

输入描述

第一行两个整数 

第二行 n 个用空格隔开的整数,第 i 个整数为 ,表示第 i 个物品的长度。

输出描述

一行一个整数,表示绳子的最长长度。

示例1

输入:

5 2
1 2 3 4 5

输出:

7

说明:

使用第 2 个和第 5 个物品制成绳子

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

Python3 解法, 执行用时: 104ms, 内存消耗: 4848K, 提交时间: 2023-08-13 13:55:58

n,k=map(int,input().split())
l=list(map(int,input().split()))
ans=l[0:k+1]
for i in range(1+k,len(l)):
    ans.append(max(ans[-1],l[i]+max(ans[:i-k])))
print(max(ans))

上一题