题目描述
有一个长度为 N 的正整数序列 (1≤N≤107) ,每一个数字都小于等于 105,再给定一个正整数 S(S≤108),试求一个连续子序列,使得该序列的数字之和大于或等于 S,并且要求该子序列尽量短。
输入格式
输入有多组(不超过 10 组)数据。
每组数据第一行为两个正整数 N 和 S ,中间用空格隔开。第二行给出这个序列 ai,每两个整数之间用空格隔开。
输入文件以 EOF 结尾。
输出格式
对于每组数据,输出一个整数,代表满足要求的最短子序列的长度。当这个连续子序列不存在时输出 0
每组数据输出占一行
10 15
5 1 3 5 10 7 4 9 2 8
5 11
1 2 3 4 5
2
3
数据规模与约定
1≤n≤107,0≤ai≤105,0<S≤108
subtask1: 1≤n≤103,20 分
subtask2: 1≤n≤105, 40 分 (二分)
subtask3: 1≤n≤107, 40 分 (尺取)
注意:输入数据规模很大,请使用快速读写方式。