#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
vector<int> pnl = {4, 3, -2, 9, -4, 2,7};
int n = pnl.size();
int k = 6;
// p[i] stores the sum of the first i elements
vector<long long> p(n + 1, 0);
for (int i = 0; i < n; i++) {
p[i + 1] = p[i] + pnl[i];
}
long long maxi = -1e18;
// Subarray ending at index i (1-based index in prefix array: 1 to n)
for (int i = 1; i <= n; i++) {
// j is the start boundary: subarray length is (i - j), which is <= k
for (int j = max(0, i - k); j < i; j++) {
long long sum = p[i] - p[j];
maxi = max(maxi, sum);
}
}
cout << maxi << "\n";
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkgewogICAgdmVjdG9yPGludD4gcG5sID0gezQsIDMsIC0yLCA5LCAtNCwgMiw3fTsKICAgIGludCBuID0gcG5sLnNpemUoKTsKICAgIGludCBrID0gNjsKCiAgICAvLyBwW2ldIHN0b3JlcyB0aGUgc3VtIG9mIHRoZSBmaXJzdCBpIGVsZW1lbnRzCiAgICB2ZWN0b3I8bG9uZyBsb25nPiBwKG4gKyAxLCAwKTsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgcFtpICsgMV0gPSBwW2ldICsgcG5sW2ldOwogICAgfQoKICAgIGxvbmcgbG9uZyBtYXhpID0gLTFlMTg7CgogICAgLy8gU3ViYXJyYXkgZW5kaW5nIGF0IGluZGV4IGkgKDEtYmFzZWQgaW5kZXggaW4gcHJlZml4IGFycmF5OiAxIHRvIG4pCiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBuOyBpKyspIHsKICAgICAgICAvLyBqIGlzIHRoZSBzdGFydCBib3VuZGFyeTogc3ViYXJyYXkgbGVuZ3RoIGlzIChpIC0gaiksIHdoaWNoIGlzIDw9IGsKICAgICAgICBmb3IgKGludCBqID0gbWF4KDAsIGkgLSBrKTsgaiA8IGk7IGorKykgewogICAgICAgICAgICBsb25nIGxvbmcgc3VtID0gcFtpXSAtIHBbal07CiAgICAgICAgICAgIG1heGkgPSBtYXgobWF4aSwgc3VtKTsKICAgICAgICB9CiAgICB9CgogICAgY291dCA8PCBtYXhpIDw8ICJcbiI7CiAgICByZXR1cm4gMDsKfQ==