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>15−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测评打分。不知道怎么写?

首页