l=0 r=10**9 N=int(input()) A=list(map(int,input().split())) B=list(map(int,input().split())) for _ in range(60): m=(l+r)/2 C=[0.00]*N for i in range(N): x=A[i]-B[i]*m C[i]=x h=[0]*(N+1) g=[-10**15]*(N+1) a=0.0 p=[0.0]*N for i in range(N): a+=C[i] h[i+1]=min(h[i],a) p[i]=a a=0.0 for i in range(N-1,-1,-1): g[i]=max(g[i+1],p[i]) ans=False for i in range(N): score=g[i]-h[i] if score<0: ans=True break if ans==True: r=m else: l=m print(l)