#6786. 和不小于 S 的最短子段

    ID: 6786 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>数据结构线段树树状数组贪心值域树状数组前缀和

和不小于 S 的最短子段

题目描述

给定一个长度为 nn 的整数数组(数组元素可以为负数、零或正数),以及一个整数 SS。请你找出数组中和不小于 SS 的连续子数组的最小长度

如果不存在任何满足条件的连续子数组,请输出 1-1

输入格式

第一行包含两个整数 nnSS,分别表示数组的长度和目标和。
第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n,表示数组的元素。

输出格式

输出一个整数,表示满足条件的连续子数组的最小长度。若不存在这样的子数组,输出 1-1

样例

5 4
1 -2 3 1 2
2

样例解释
满足和不小于 44 的连续子数组有:

  • [3, 1],和为 44,长度 22
  • [3, 1, 2],和为 66,长度 33
  • [1, -2, 3, 1, 2],和为 55,长度 55
    其中最小长度为 22
3 5
-1 -2 -3
-1

样例解释
不存在和不小于 55 的连续子数组,输出 1-1

数据范围与提示

  • 1n1000001 \le n \le 100000
  • S109S \le 10^9
  • 数组中每个元素的绝对值不超过 10910^9