#if __has_include() #include #else #include #include #endif using namespace std; #define rep(i, n) for (long long i = 0; i < (long long)(n); i++) #define printYesNo(is_ok) puts(is_ok ? "Yes" : "No") #define SORT(v) sort(v.begin(), v.end()) #define RSORT(v) sort(v.rbegin(), v.rend()) #define REVERSE(v) reverse(v.begin(), v.end()) template void printVector(const Container &v, char delimiter = ' ') { for (auto itr = v.begin(); itr != v.end(); itr++) { if (itr != v.begin()) { cout << delimiter; } cout << *itr; } cout << endl; } template void printlnVector(const Container &v) { printVector(v, '\n'); } void solve() { int N, M; cin >> N >> M; vector v(N + 1); rep(i, N) { long long A; cin >> A; v[i + 1] += A; } rep(i, N) { long long B; cin >> B; v[i + 1] -= B; } rep(i, N) { v[i + 1] = max(v[i + 1], 0ll); } rep(i, N) { v[i + 1] += v[i]; } long long ans = 0; rep(i, N - M + 1) { ans = max(ans, v[i + M] - v[i]); } cout << ans << endl; } int main() { int T = 1; // cin >> T; while (T--) { solve(); } return 0; }