#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using vi = vector<int>;
using vvi = vector<vi>;
using ii = pair<int, int>;
double x[60000], v[60000];
int n;
bool f(double t) {
  vector<tuple<double, int> > a;
  for (int i = 0; i < n; ++i) {
    a.emplace_back(x[i] - v[i] * t, 0);
    a.emplace_back(x[i] + v[i] * t + 1e-7, 1);
  }
  sort(a.begin(), a.end());
  int m = 0;
  for (int i = 0; i < n; ++i) {
    auto [x, e] = a[i];
    if (e == 0)
      m++;
    else
      m--;
    if (m == n) return true;
  }
  return false;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cin >> n;
  for (int i = 0; i < n; ++i) cin >> x[i];
  for (int i = 0; i < n; ++i) cin >> v[i];
  double lo = 0, hi = 1e9;
  while (hi - lo > 1e-7) {
    double mid = (hi + lo) / 2;
    if (f(mid))
      hi = mid;
    else
      lo = mid;
  }
  cout << setprecision(15) << fixed << lo;
}
