数组元素均为正数。这样就可以用**滑动窗口(双指针)**维护当前区间的和:
r 向右扩张,把 a[r] 加入当前和 s;s > k,不断右移左指针 l 并减去 a[l],直到 s ≤ k;s ≤ k 时,用 r-l+1 更新答案。海岸线上按顺序摆放着n个位置,每个位置i上有ai个贝壳。你需要选择一个连续的区间[L,R](1≦L≦R≦n)进行一次性收集,并将该区间内的全部贝壳装入背包。背包的容量为k,即一次收集的贝壳总数不能超过k。
请你计算可选择的区间的最大长度R−L+1。若不存在合法区间,则输出0。