#include<iostream>
#include<cstdio>
using namespace std;
const int N = 2.3E5 + 5;
int n, m, a[N], s[N];
bool check(int len)
{
    for(int i = len - 1; i <= n; i++)
    {
        if(s[i] - s[i - len] >= m)
        {
            return 1;
        }
    }
    return 0;
}
void binAns()
{
    int ans = 0;
    int left  = 1, right = n;
    while(left <= right)
    {
        int mid = (left + right) / 2;
        if(check(mid))
        {
            ans = mid;
            right = mid - 1;
        }
        else
            left = mid + 1;
    }
    printf("%d\n", ans);
}
void handle()
{
    int ans = n;
    for(int len = 1; len <= n; len++)
    {
        for(int i = len - 1; i <= n; i++)
        {
            if(s[i] - s[i - len] >= m)
            {
                ans = len;
                break;
            }
        }
        if(ans != n)
            break;
    }
    printf("%d\n", ans);
}
void initInput(void)
{
    scanf("%d%d", &n, &m);
    for(int i = 1; i <= n; i++)
    {
        scanf("%d", &a[i]);
        s[i] = s[i - 1] + a[i];
    }
}
int main(void)
{
    initInput();
   // handle();
     binAns();
    return 0;
}

0 条评论

目前还没有评论...

信息

ID
320
时间
1000ms
内存
256MiB
难度
6
标签
递交数
105
已通过
30
上传者