1 int l=1,r=1; 2 q[1]=0; 3 for(int i=1; i<=n; i++) { 4 while(l<=r&&q[l]<i-m) l++; 5 ans=max(ans,sum[i]-sum[q[l]]); 6 while(l<=r&&sum[q[r]]>=sum[i]) r--; 7 q[++r]=i; 8 }