#include #include //cin/cout #include //cout string #include //rambda #include #include //next/prev #include #include //iota #include #include #include #include #include using namespace std; using llong = long long; const llong INF = 1LL << 60;//INF > 10^18(1e18) const int INF32 = 1LL << 30;//INF32 > 10^9(1e9) template bool chmax(T& max, const T& b) { if (max >= b) return false; max = b; return true; } template bool chmin(T& min, const T& b) { if (min <= b) return false; min = b; return true; } ///////////////////ここまでtoolbox///////////////////////////////////// int main() { int N, M; cin >> N >> M; vectorA(N), B(N); for (int n = 0; n < N; n++) { cin >> A[n]; } for (int n = 0; n < N; n++) { cin >> B[n]; } //区間M日間で得する日だけ計上する llong ans = 0; llong temp = 0; for (int n = 0; n < M; n++) { if (A[n] - B[n] > 0) { temp += A[n] - B[n]; } } ans = temp; for (int n = M; n < N; n++) { if (A[n - M] - B[n - M] > 0) { temp -= A[n - M] - B[n - M]; } if (A[n] - B[n] > 0) { temp += A[n] - B[n]; } chmax(ans, temp); } cout << ans << endl; return 0; }