#include <cmath>
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n, k, a, sum = 0, tmp;
vector<int> v;
cin >> n >> k;
for (int i = 0; i < n; i++) {
cin >> a;
v.push_back(a);
}
for (int i = 0; i < k; i++) {
sum += v[i];
}
tmp = sum;
for (int i = k; i < n; i++) {
tmp = tmp - v[i - k] + v[i];
sum = max(tmp, sum);
}
cout << sum << endl;
}
인덱스 0부터 k길이만큼의 합을 구한 후 그 다음 부분합을 구할 때는 첫 원소를 빼고 새로운 원소를 넣어주는 식으로 부분합을 새로 구했다. 기존 부분합과 새로운 부분합의 최대값을 변수에 저장해주면된다.