#include<bits/stdc++.h>
using namespace std;
int n,m,a[4000000];
long long s=0;
int main(){
cin>>n>>m;
for(int i=0;i<n;i++) cin>>a[i];
int r,c=0,mc=0,lt=0,ansl,ansr,ans;
for(int i=0;i<n;i++){
r=i;
s+=a[i];
c++;
while(s>m){
s-=a[lt];
c--;
lt++;
}
if(c>mc){
mc=c;
ans=s;
ansl=lt+1;
ansr=r+1;
}
}
cout<<ansl<<" "<<ansr<<" "<<ans<<endl;
}
代码里主要是把这个问题当做了滑动窗口来看,感觉没问题,实测0分求助!