#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;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp1c2luZyBsZCA9IGxvbmcgZG91YmxlOwoKaW50IG1haW4oKSB7CiAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKG51bGxwdHIpOwoKICAgIGludCBuLCBrOwogICAgY2luID4+IG4gPj4gazsKCiAgICB2ZWN0b3I8aW50PiBhKG4gKyAxKSwgYihuICsgMSk7CiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBuOyArK2kpIGNpbiA+PiBhW2ldOwogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgKytpKSBjaW4gPj4gYltpXTsKCiAgICBhdXRvIGNoZWNrID0gWyZdKGxkIHgpIC0+IGJvb2wgewogICAgICAgIHZlY3RvcjxsZD4gcHJlZihuICsgMSwgMC4wTCk7CiAgICAgICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgKytpKSB7CiAgICAgICAgICAgIHByZWZbaV0gPSBwcmVmW2kgLSAxXSArIChsZCliW2ldIC0geCAqIChsZClhW2ldOwogICAgICAgIH0KCiAgICAgICAgbGQgbW4gPSAwLjBMOwogICAgICAgIGZvciAoaW50IGkgPSBrOyBpIDw9IG47ICsraSkgewogICAgICAgICAgICBtbiA9IG1pbihtbiwgcHJlZltpIC0ga10pOwogICAgICAgICAgICBpZiAocHJlZltpXSAtIG1uID49IDAuMEwpIHJldHVybiB0cnVlOwogICAgICAgIH0KICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9OwoKICAgIGxkIGxvID0gMC4wTCwgaGkgPSAxZTZMOwogICAgZm9yIChpbnQgaXQgPSAwOyBpdCA8IDgwOyArK2l0KSB7CiAgICAgICAgbGQgbWlkID0gKGxvICsgaGkpIC8gMi4wTDsKICAgICAgICBpZiAoY2hlY2sobWlkKSkgbG8gPSBtaWQ7CiAgICAgICAgZWxzZSBoaSA9IG1pZDsKICAgIH0KCiAgICBjb3V0IDw8IGZpeGVkIDw8IHNldHByZWNpc2lvbigzKSA8PCAoZG91YmxlKWxvIDw8ICdcbic7CiAgICByZXR1cm4gMDsKfQo=