#include <bits/stdc++.h>
using namespace std;
int a[300009];
int n, mn, ans = 0;
int chk(int k) {
  int l, l1, l2;
  for (int i = 1; i <= n; i++) {
    l1 = abs(n - i);
    l2 = abs(i - 1);
    if (k * l1 > min(a[i], a[n])) return 0;
    if (k * l2 > min(a[i], a[1])) return 0;
  }
  return 1;
}
int main() {
  cin >> n;
  for (int i = 1; i <= n; i++) {
    scanf("%d", &a[i]);
    if (i == 1) mn = a[i];
    mn = min(a[i], mn);
  }
  int lo = 0, hi = mn;
  while (hi - lo >= 2) {
    int mid = (lo + hi) >> 1;
    if (chk(mid) == 1) {
      lo = mid;
    } else
      hi = mid - 1;
  }
  for (int i = lo; i <= hi; i++) {
    if (chk(i) == 1) {
      ans = i;
    }
  }
  cout << ans << endl;
  return 0;
}
