要在长度为 k 的连续区间里,让观测值的总和尽可能大;若最大值有多段并列,取最靠前的一段。因 k 为奇数,区间存在唯一的居中位置,设区间左端为 L,则居中位置为 L+⌊k/2⌋。
核心就是在数组上寻找固定长度为 k 的最大子段和。这正是典型的滑动窗口问题:
在一项长期观测中,记录了一个长度为 n 的序列 a1,a2,…,an,每个元素表示某一指标的值。现在需要选取一段连续的周期进行深入研究,该段必须恰好包含 k 个连续的观测值,并且希望这 k 个数值的总和尽可能大。由于实验安排,启动实验的时间点必须位于该段的中央(题目保证 k 为奇数,因此必存在唯一的中心位置)。如果存在多个总和最大的连续段,则选择最靠前(即起始下标最小)的那一段。请你求出所选段中心位置对应的下标。下标从 1 开始计数。
约束条件:序列长度 n 和窗口长度 k 满足 1≤n,k≤105,且 k 为奇数。对于每个 i,ai 满足 1≤ai≤104。
第一行包含两个整数 n 和 k,分别表示序列长度和窗口长度。第二行包含 n 个整数,表示序列元素 a1,a2,…,an,每个整数均在 [1,104] 范围内。
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册