#include <bits/stdc++.h>
using namespace std;
template <typename T>
inline T read(T& x) {
  x = 0;
  int f = 0;
  char ch = getchar();
  while (ch < '0' || ch > '9') f |= (ch == '-'), ch = getchar();
  while (ch >= '0' && ch <= '9') x = x * 10 + ch - '0', ch = getchar();
  return x = f ? -x : x;
}
const int N = 3e5 + 10;
int n, i, j, len, ans = -1, a[N];
int main() {
  read(n);
  for (i = 1; i <= n; ++i) read(a[i]);
  int mn = -1;
  for (i = 1, j = n, len = n - 1; i <= j; ++i, --j, --len) {
    if (mn == -1)
      mn = min(a[i], a[j]);
    else
      mn = min(mn, min(a[i], a[j]));
    int k = mn / len;
    if (k < 0) continue;
    if (ans == -1)
      ans = k;
    else
      ans = min(ans, k);
  }
  printf("%d\n", ans);
  return 0;
}
