#678. 最短区间

最短区间

最短区间

题目描述

给定一个长度为 nn 的正整数数组 aa 和一个整数 SS。

请你找出一个连续子段,使得子段中所有元素的和至少为 SS,并让这个子段的长度尽可能小。输出这个最短长度;如果不存在这样的子段,输出 -1。

输入格式

第一行两个整数 nn 和 SS。

第二行 nn 个正整数 a1,a2,…,ana_1, a_2, \dots, a_n。

输出格式

一行一个整数,表示最短子段的长度,不存在则输出 -1。

样例

6 7
2 3 1 2 4 3
2

样例说明:子段 [4,3] 的和为 7,长度为 2;不存在长度为 1 的合法子段。

数据范围

1≤n≤1051 \le n \le 10^5,1≤ai≤1091 \le a_i \le 10^9,1≤S≤10141 \le S \le 10^{14}。