#include <bits/stdc++.h>
using namespace std;

using ld = long double;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int n, k;
    cin >> n >> k;

    vector<int> a(n + 1), b(n + 1);
    for (int i = 1; i <= n; ++i) cin >> a[i];
    for (int i = 1; i <= n; ++i) cin >> b[i];

    auto check = [&](ld x) -> bool {
        vector<ld> pref(n + 1, 0.0L);
        for (int i = 1; i <= n; ++i) {
            pref[i] = pref[i - 1] + (ld)b[i] - x * (ld)a[i];
        }

        ld mn = 0.0L;
        for (int i = k; i <= n; ++i) {
            mn = min(mn, pref[i - k]);
            if (pref[i] - mn >= 0.0L) return true;
        }
        return false;
    };

    ld lo = 0.0L, hi = 1e6L;
    for (int it = 0; it < 80; ++it) {
        ld mid = (lo + hi) / 2.0L;
        if (check(mid)) lo = mid;
        else hi = mid;
    }

    cout << fixed << setprecision(3) << (double)lo << '\n';
    return 0;
}
