本题思路很简单,只要找到水容量之和最大的区间即可,注意区间长度为 k+1 不是 k,简单写个前缀和搞定!
#include<bits/stdc++.h>
#define ll long long
#define endl "\n"
#define mem(vis, num) memset(vis, num, sizeof(vis));
using namespace std;
int a[1000010];
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
mem(a, 0);
int n, k, ans = 0;
cin >> n >> k;
for(int i = 1; i <= n; i++){
int t;
cin >> t;
a[i] += a[i - 1] + t;
}
for(int i = k + 1; i <= n; i++){
if(a[i] - a[i - k - 1] > ans){
ans = a[i] - a[i - k - 1];
}
}
cout << ans << endl;
return 0;
}
