AlgoMooc
你已开通华为OD训练营权益,还差最后一步——完成入营激活(兑换课程 + 加飞书 + 登记服务群),即可解锁全部课程与专属服务。去激活 →
← 返回题库

P3285. 滑动窗口的最大值

简单通过率 50% · 提交 72 · 通过 36
滑动窗口前缀和固定滑窗

小慕有一个包含N个整数的数组,以及一个长度为M的滑动窗口。窗口从数组的第一个数开始,依次向右滑动,直到窗口无法再移动为止。每滑动一次,窗口会计算当前窗口内所有数的和,得到一次。小慕想知道,在整个滑动过程中,所有窗口和的是多少。

提示:带虚线的词点一下有通俗解释。

输入描述

- 第一行输入一个正整数N,表示整数个数。(0<N<100000) - 第二行输入N个整数,整数的取值范围为[-100,100]。 - 第三行输入一个正整数M,M代表窗口的大小,M <= 100000,且M <= N。

输出描述

窗口滑动产生所有窗口和的最大值。

示例

示例 1

输入

6
10 20 30 15 23 12
3

输出

68

时间限制 1000 ms · 内存限制 128 MB

看不懂题目?点开图解
滑动窗口求最大和(示例) 10 20 30 15 23 12 窗口(大小3) 窗口1: 10+20+30=60 窗口2: 20+30+15=65 窗口3: 30+15+23=68 窗口4: 15+23+12=50 最大窗口和 = 68
写完代码点「提交」,将对全部测试用例判题。

向老师提问

针对「滑动窗口的最大值」把疑问、代码和报错填清楚,老师收到后能更快、更准地回复你。