3 条题解

  • 0
    @ 2026-5-12 19:18:56
    #include<bits/stdc++.h>
    using namespace std;
    const int N=2e5+5;
    int a[N];
    long long s[N];
    
    int main(){
        ios::sync_with_stdio(false);
        cin.tie(0);
    
        int n,S;
        cin>>n>>S;
        for(int i=1;i<=n;i++){
            cin>>a[i];
            s[i]=a[i]+s[i-1];
        }
        int r=0,ans=0;
        for(int l=1;l<=n;l++){
            if(ans>=n-l+1)break;//剪枝
            while(r<=n&&s[r]-s[l-1]<=S)r++;
            ans=max(ans,r-l);
            if(r>n)break;
        }
        cout<<ans;
        return 0;
    }
    

    信息

    ID
    820
    时间
    1000ms
    内存
    256MiB
    难度
    7
    标签
    递交数
    664
    已通过
    150
    上传者