import sys # input = lambda :sys.stdin.readline()[:-1] ni = lambda :int(input()) na = lambda :list(map(int,input().split())) yes = lambda :print("yes");Yes = lambda :print("Yes");YES = lambda : print("YES") no = lambda :print("no");No = lambda :print("No");NO = lambda : print("NO") ####################################################################### """ (1) a[i] = 1 0 <= s[n] - 2s[i] <= 1 a[r] - a[l] >= xb[r] - xb[l] a[r] - xb[r] >= a[l] - xb[l] 0 1 3 6 0 3 5 6 0 -2 -2 0 """ def check(mid): f = [-1] * (n + 1) g = [-1] * (n + 1) f[0] = a[0] - mid * b[0] g[n] = a[-1] - mid * b[-1] for i in range(n): f[i+1] = min(f[i], a[i+1] - mid * b[i+1]) for i in range(n-1, -1, -1): g[i] = max(g[i+1], a[i] - mid * b[i]) # print(mid, f, g) return all(f[i] <= g[i+1] for i in range(n)) n = ni() a = [0] + na() b = [0] + na() for i in range(n): a[i+1] += a[i] b[i+1] += b[i] # check(1) ok = 0 ng = 10 ** 18 for _ in range(200): mid = (ok + ng) / 2 # print(mid, f, g) if check(mid): ok = mid else: ng = mid print(ok)