题目名称 3428. 最长子段
输入输出 longsubsequence.in/out
难度等级
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 10
题目来源 Gravatarsyzhaoss 于2020-06-29加入
开放分组 全部用户
提交状态
分类标签
二分法 前缀和
分享题解
通过:10, 提交:63, 通过率:15.87%
Gravatarlihaoze 100 0.013 s 2.18 MiB C++
Gravatar嗨嗨嗨 100 0.062 s 4.39 MiB C++
GravatarTab↹ 100 0.072 s 3.48 MiB C++
Gravatarliuyiche 100 0.073 s 4.09 MiB C++
GravatarTab↹ 100 0.089 s 4.09 MiB C++
GravatarTab↹ 100 0.100 s 4.09 MiB C++
Gravatarsyzhaoss 100 0.125 s 11.09 MiB C++
Gravatar锝镆氪锂铽 100 0.180 s 15.18 MiB C++
Gravatar梦那边的美好ET 100 0.222 s 15.18 MiB C++
Gravatar1020 100 0.323 s 5.06 MiB C++
关于 最长子段 的近10条评论(全部评论)
满足 "前缀和 $\le S$ 的子段的长度" 的 $x$ 不是连续的(即对于一个满足性质的 $x$ ,长度小于 $x$ 的子段的前缀和不一定 $\le S$),所以对于二分的每一个答案 $x$ ,应该判断是否存在一个 $\ge x$ 的子段长度,而不是直接判断 $x$
Gravatarlihaoze
2022-03-25 21:52 1楼

3428. 最长子段

★   输入文件:longsubsequence.in   输出文件:longsubsequence.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】

给定n个整数Ai,求一个尽可能长的非空连续子段使得子段和$\leq S$。

【输入格式】

第一行两个整数n,S。

第二行n个整数。

【输出格式】

一个整数,最长非空连续子段的长度。

【样例输入】

6 10
-1 2 7 -4 9 12

【样例输出】

4

【数据范围】

$1\leq n\leq 2\times10^5,-10^9\leq Ai\leq 10^9,1\leq S\leq 10^9$。