#include <bits/stdc++.h>
using namespace std;
const double eps = 1e-6;
const double PI = acos(-1.0);
const int maxn = 1005;
const int inf = 0x3f3f3f3f;
priority_queue<pair<int, int>, vector<pair<int, int> >,
               greater<pair<int, int> > >
    Q;
set<int> pos;
set<int>::iterator it1;
set<int>::reverse_iterator it2;
int n, a, ans;
int main() {
  while (cin >> n) {
    while (!Q.empty()) Q.pop();
    pos.clear();
    ans = inf;
    for (int i = 1; i <= n; ++i)
      cin >> a, Q.push(make_pair(a, i)), pos.insert(i);
    while (!Q.empty()) {
      pair<int, int> per = Q.top();
      Q.pop();
      pos.erase(per.second);
      if (pos.empty()) continue;
      it1 = pos.begin(), it2 = pos.rbegin();
      ans = min(
          ans, per.first / max(abs(*it1 - per.second), abs(*it2 - per.second)));
    }
    cout << ans << endl;
  }
  return 0;
}
