#5873. 最长非负和子段

最长非负和子段

当前没有测试数据。

题目描述

给定一个长度为 nn 的整数数组 aa,请你求出数组中最长的连续子段的长度,满足该子段的和大于等于 00。若不存在满足条件的子段(即所有子段和均小于 00),请输出 00

:子段指数组中连续的一段元素,单个元素也视为一个子段。

输入格式

第一行包含一个整数 nn,表示数组的长度。 第二行包含 nn 个整数 a1,a2,,ana_1,a_2,\dots,a_n,表示数组的元素。

输出格式

输出一行一个整数,表示满足条件的最长子段的长度。

输入输出样例

样例输入 1

5
-1 2 -3 4 -5

样例输出 1

4

解释:子段 [2,3,4][2,-3,4] 和为 303≥0(长度3),子段 [1,2,3,4][-1,2,-3,4] 和为 202≥0(长度4),为最长满足条件的子段。

样例输入 2

3
-5 -3 -1

样例输出 2

0

解释:所有子段和均为负数,无满足条件的子段。

样例输入 3

6
1 -2 3 0 -4 5

样例输出 3

6

解释:整个数组的和为 303≥0,故最长子段长度为数组本身的长度。

数据范围与提示

  • 1n1061 \le n \le 10^6
  • 109ai109-10^9 \le a_i \le 10^9