#include <bits/stdc++.h>
using namespace std;
vector<long long> numgg(long n) {
  vector<long long> vec(n + 1, 0);
  for (int i = 2; i <= n; i++)
    for (int k = i; k <= n; k += i) vec[k]++;
  return vec;
}
void speed() {
  std::ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
}
vector<long long> dvisors(long long n) {
  vector<long long> vec;
  for (long long i = 1; i * i <= n; i++) {
    if (n % i == 0) vec.push_back(i);
    if (n % i == 0 && n % (n / i) == 0) vec.push_back((n / i));
  }
  return vec;
}
int dp[100000];
const int max_n = 2e5 + 10;
int cnt[26];
int main() {
  speed;
  long long arr[max_n];
  long long n, sum = 0;
  cin >> n;
  long long x[n];
  for (int i = 0; i < n; i++) {
    cin >> x[i];
    sum += x[i];
  }
  sort(x, x + n);
  long long v = x[n - 1];
  n--;
  if (ceil((long double)sum / n) >= v)
    cout << (long long)ceil((long double)sum / n);
  else
    cout << v;
  return 0;
}
