#P1224. 哨塔补给
显示设置
本题导航点一下展开
我的笔记
✕
哨塔补给
哨塔补给
题目背景
边境线上有一排哨塔,编号从左到右依次为 到 。指挥部打算在部分哨塔里建立补给站:任意一段长度为 的连续哨塔中,至少要有一个补给站,这样巡逻队无论走到哪一段都能就近补给。建立补给站会带来收益,也可能带来开销(例如需要额外的人力),收益可以为负。指挥部希望总收益最大。
题目描述
给定 个哨塔的收益 ,其中 可以为负数,表示建立补给站需要付出的净开销。再给定整数 ()。
你需要选择一个哨塔编号的集合 作为建立补给站的位置,满足:
对任意满足 的 ,区间 中至少有一个编号属于 。
也就是说,任意连续 个哨塔中,至少要有一个建立了补给站。
请你求出 的最大值。可以证明,只要 ,这样的集合总是存在的。
输入格式
从标准输入读入数据。
第一行两个整数 。
第二行 个整数 。
输出格式
输出到标准输出。
一行一个整数,表示最大总收益。
样例 1 输入
5 2
3 -5 4 -1 2
样例 1 输出
9
样例 1 解释
选择 ,收益之和为 。检查长度为 的连续段: 含有 , 含有 , 含有 , 含有 ,都满足要求。可以验证没有收益更大的方案。
样例 2 输入
4 4
-3 -1 -4 -1
样例 2 输出
-1
样例 2 解释
只有一段长度为 的区间,也就是整排哨塔,所以至少要选一个哨塔。收益最大的是 号哨塔(收益 ),因此答案是 。
数据范围
| 测试点编号 | 特殊性质 | |
|---|---|---|
| 无 | ||
| 无 |
对全部测试数据,保证 ,。
提交说明
本题使用标准输入输出。程序应从标准输入读入数据,并将答案输出到标准输出。
相关
在下列比赛中: