#P2013. 卓姥爷的梦

卓姥爷的梦

题目描述

众所周知, 卓姥爷喜欢躺着, 有一天他躺着睡着了做了这样一个梦:

在遥远的魔法大陆上,他被召唤去探索一座古老而神秘的魔法迷宫。这座迷宫中充满了各种挑战,总共有 nn 个挑战任务,分别编号为 1,2,,n1, 2, \cdots, n。每个挑战都被魔法所封印,完成第 ii 个挑战需要 aia_i 分钟。

卓姥爷手中的魔法沙漏只能支持他在迷宫中停留 tt 分钟。因此,他必须在有限的时间内尽可能多地完成这些挑战任务,但也注定会有一些任务无法完成。

为了不激怒迷宫中的守护者,每一个挑战任务要么不做,要么必须完全完成,不能只做一部分。

如果卓姥爷选择连续跳过一些任务,那么这些连续的未完成任务段会形成一个“魔法空洞”。这些魔法空洞会激怒迷宫的守护者,而守护者的愤怒程度与最长的魔法空洞的长度成正比。

卓姥爷想知道,他在这 tt 分钟内完成哪些任务,才能让最长的魔法空洞尽可能短,从而减轻守护者的愤怒。

你的任务是帮助卓姥爷计算出在 tt 分钟内,最长的魔法空洞至少有多长。

输入格式

第一行为两个整数 nn (0<n5×104)(0 < n \leq 5 \times 10^4) ,, tt (0<t108)(0 < t \leq 10^8),分别表示挑战任务的总数和魔法沙漏的总时间(分钟)。

第二行为 nn 个整数,分别表示每个挑战任务所需的时间 a1,a2,,ana_1, a_2, \dots , a_n (0<ai3×103)(0 < a_i \leq 3 \times 10^3)

输出格式

输出一个整数,表示最长的魔法空洞的最小长度。

样例输入输出

5 10
2 3 5 7 1
1