#include <iostream>
#include <vector>
#include <climits>  // 用于INT_MAX
using namespace std;

int main() {
    int n, m;
    cin >> n >> m;  // 读取糖果数量和目标甜度
    vector<int> candies(n);  // 创建存储糖果甜度的数组
    
    // 读取每个糖果的甜度
    for (int i = 0; i < n; i++) {
        cin >> candies[i];
    }

    int minLen = INT_MAX;  // 初始化最短长度为最大整数
    int left = 0;          // 滑动窗口左指针
    int sum = 0;           // 当前窗口甜度总和

    // 右指针遍历整个糖果串
    for (int right = 0; right < n; right++) {
        sum += candies[right];  // 将当前糖果加入窗口
        
        // 当窗口甜度满足条件时尝试缩小窗口
        while (sum >= m) {
            // 更新最小长度(当前窗口长度 = right - left + 1)
            minLen = min(minLen, right - left + 1);
            
            // 从窗口左侧移除糖果并移动左指针
            sum -= candies[left];
            left++;  // 缩小窗口
        }
    }

    // 输出结果(若未找到满足条件的子串则输出0)
    cout << (minLen == INT_MAX ? 0 : minLen) << endl;
    return 0;
}
/**************************************************************
	Problem: 2105
	User: hulaoshi
	Language: C++
	Result: Accepted
	Time:100 ms
	Memory:2972 kb
****************************************************************/