U137764.沈压力的压力值释放计划
普及+/提高
通过率:0%
时间限制:1.00s
内存限制:128MB ~ 512MB
题目描述
时间限制:1000ms
内存限制:256MB
RE RE RE是一个善良的人,他经常和他的三个好友做夜间交谈,以至于班主任每天晚上都要费尽心思找他。昨天晚上,RE RE RE和WERT以及杨景皓和恐龙夜间谈话,四个人谈到了一个无比神秘的东西:动态规划,这个东西简直太神秘了,以至于四个菜鸡都不知道。但他们如果做不出来又要被沈压力老师压力,所以这道题需要你化解掉沈压力老师的压力值,不然RE RE RE会被pang_z老师和reve42emoclew以及重生之我是菜狗一起压力。
为了拯救RE RE RE请你一定要做对呀!
骗你的,RE RE RE好得很
题目详情是这样的:
RE RE RE、WERT 和杨景皓发现,沈压力老师的压力值并非不可化解。他们发现了一种神秘的“动态规划”仪式,可以在特定的时间节点通过“夜间谈话”来抵消压力。
然而,沈压力老师非常敏感。如果在第i个时刻进行了谈话,那么在接下来的 K个时刻内(即 i+1 到 i+K),老师会进入“警觉状态”,此时任何谈话不仅无法缓解压力,反而会因为打扰老师休息而增加额外的压力惩罚。
此外,每个时刻 i 有一个基础压力值 A[i] 。如果你选择在时刻 i 进行谈话,你可以获得 A[i] 的“压力减免值”(如果 A[i]为负,则意味着该时刻谈话会增加压力,即减免值为负)。你的目标是安排一系列谈话时刻,使得最终的总压力减免值最大。
注意:你可以选择不进行任何谈话,此时总减免值为 0。
给定一个长度为 N的整数序列 A[1],A[2]…A[N] 以及一个非负整数 K
你需要从序列中选出若干个下标 i[1],i[2],…,i[m] ,满足对于任意1≤j<m,都有 i[j-1]-i[j]>K。求选出的下标对应的 A[i]之和的最大值。
换句话说,你选出的任意两个时刻之间,必须至少间隔 K 个未选中的时刻。
输入格式
第一行包含两个整数 N 和 K。
第二行包含 N 个整数 A[1],A[2],…,A[N] 。
输出格式
输出一个整数,表示最大的压力减免值总和。
输入输出样例
输入#1
5 1 1 -2 3 -4 5
输出#1
9
输入#2
6 2 10 -10 10 -10 10 -10
输出#2
20
说明/提示
样例解释 #1
K=1 意味着选出的两个时刻不能相邻(间隔至少为 2,即 i[j+1]−i[j]>1⇒i[j+1]≥i[j]+2)。
我们可以选择时刻 1 (A[1]=1)、时刻 3 (A[3]=3) 和时刻 5 (A[5]=5)。
它们之间的间隔分别为 3−1=2>1 和 5−3=2>1,满足条件。
总和为 1+3+5=9。
其他方案如只选时刻 5 得到 5,选时刻 1,3 得到 4,均小于 9。
样例解释 #2
我很神秘,就不告诉你...
凡事要用脑
数据范围
- 对于 30% 的数据,1≤N≤20 ;
- 对于 60% 的数据,1≤N≤5000 ;
- 对于 100% 的数据,1≤N≤10^6, 0≤K≤N,|A[i]|≤10^4。
| 测试点编号 | 数据规模 | 分值 |
|---|---|---|
| 1~4 | N≤10 | 20分 |
| 5~10 | N≤5000 | 30分 |
| 11~15 | N≤1e5 | 20分 |
| 16~20 | N≤1e6 | 30分 |
输入解题思路,AI测评打分。不知道怎么写?