#DSA0110. 最大等期望和连续相等子段

最大等期望和连续相等子段

时间限制: 1.0 秒

空间限制: 6 MB

题目描述

求一个数组 AA 当中连续相同数字的和等于 ss 的最长子数组长度,要求时间复杂度不超过 O(n)O(n),额外空间复杂度不超过 O(1)O(1)

输入格式

从标准输入读入数据。

第一行两个整数 n,sn,s,分别表示数组长度和目标和。

第二行 nn 个整数 A1,,AnA_1,\cdots,A_n,表示输入的数列。

输出格式

输出到标准输出。

输出一个整数,表示符合【题目描述】要求的最长子数组长度。特殊地,当不存在目标数组时,输出 0。

8 3
1 1 2 1 1 1 2 1
3

样例 1 解释

A4,A5,A6A_4,A_5,A_6 满足条件。

子任务

对于所有数据,保证 1n106,1Ai1000, 1s1091\le n\le 10^6,1\le A_i\le 1000,~1\le s\le 10^9

本题无数据梯度,需要通过全部数据获得所有分数。

提示

请注意本题非同寻常的空间限制,如有需要,请使用 int 类型的静态数组进行存储。此外,引用万能头(bits/stdc++.h)或者使用动态数组 vector 也会消耗大量空间,建议不要使用。

来源

清华 826 考研初试 2016 - 算法大题(2)