B. 哨塔补给

    传统题 1000ms 512MiB
显示设置

哨塔补给

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

哨塔补给

题目背景

边境线上有一排哨塔,编号从左到右依次为 11 到 nn。指挥部打算在部分哨塔里建立补给站:任意一段长度为 kk 的连续哨塔中,至少要有一个补给站,这样巡逻队无论走到哪一段都能就近补给。建立补给站会带来收益,也可能带来开销(例如需要额外的人力),收益可以为负。指挥部希望总收益最大。

题目描述

给定 nn 个哨塔的收益 a1,a2,…,ana_1, a_2, \dots, a_n,其中 aia_i 可以为负数,表示建立补给站需要付出的净开销。再给定整数 kk(1≤k≤n1 \le k \le n)。

你需要选择一个哨塔编号的集合 S⊆{1,2,…,n}S \subseteq \{1, 2, \dots, n\} 作为建立补给站的位置,满足:

对任意满足 1≤l≤n−k+11 \le l \le n-k+1 的 ll,区间 [l,l+k−1][l, l+k-1] 中至少有一个编号属于 SS。

也就是说,任意连续 kk 个哨塔中,至少要有一个建立了补给站。

请你求出 ∑i∈Sai\sum_{i \in S} a_i 的最大值。可以证明,只要 1≤k≤n1 \le k \le n,这样的集合总是存在的。

输入格式

从标准输入读入数据。

第一行两个整数 n,kn, k。

第二行 nn 个整数 a1,a2,…,ana_1, a_2, \dots, a_n。

输出格式

输出到标准输出。

一行一个整数,表示最大总收益。

样例 1 输入

5 2
3 -5 4 -1 2

样例 1 输出

9

样例 1 解释

选择 {1,3,5}\{1, 3, 5\},收益之和为 3+4+2=93 + 4 + 2 = 9。检查长度为 22 的连续段:[1,2][1,2] 含有 11,[2,3][2,3] 含有 33,[3,4][3,4] 含有 33,[4,5][4,5] 含有 55,都满足要求。可以验证没有收益更大的方案。

样例 2 输入

4 4
-3 -1 -4 -1

样例 2 输出

-1

样例 2 解释

只有一段长度为 44 的区间,也就是整排哨塔,所以至少要选一个哨塔。收益最大的是 22 号哨塔(收益 −1-1),因此答案是 −1-1。

数据范围

测试点编号 n≤n \le 特殊性质
1∼31 \sim 3 2020 无
4∼64 \sim 6 2×1052 \times 10^5 k=nk = n
7∼107 \sim 10 无

对全部测试数据,保证 1≤k≤n≤2×1051 \le k \le n \le 2 \times 10^5,−104≤ai≤104-10^4 \le a_i \le 10^4。

提交说明

本题使用标准输入输出。程序应从标准输入读入数据,并将答案输出到标准输出。

CSP-S 模拟赛 · 第三套

未参加
状态
已结束
规则
OI
题目
4
开始于
2026-10-3 14:00
结束于
2026-10-3 18:00
持续时间
4 小时
主持人
参赛人数
0