#include using namespace std; using ll = long long; using vll = vector; template using umap = unordered_map; #define rep(i, n) for (int i = 0; i < n;i++) #define rep1(i, n) for (int i = 1; i <= n;i++) #define rrep(i, n) for (int i = n - 1; i >= 0;i--) #define rrep1(i, n) for (int i = n; i >= 1;i--) #define all(x) x.begin(), x.end() #define rall(x) x.rbegin(), x.rend() #define INF 1LL << 60 #define chmin(a, b) a = min(a, b) #define chmax(a, b) a = max(a, b) int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); int n, m; cin >> n >> m; vector a(n), b(n); rep(i, n) { cin >> a[i]; } rep(i, n) { cin >> b[i]; } vector cancel(n); ll sum = 0; rep(i, m) { if (a[i] < b[i]) { cancel[i] = true; } else { sum += a[i] - b[i]; } } ll ans = sum; for (int i = m; i < n;i++) { if (a[i] < b[i]) { cancel[i] = true; } else { sum += a[i] - b[i]; } if (!cancel[i - m]) { sum -= a[i - m] - b[i - m]; } chmax(ans, sum); } cout << ans << endl; }