#include <bits/stdc++.h>
using namespace std;
int n;
int a[5000];
long long dp[5000][2501][2];
int main() {
  cin >> n;
  for (int i = 0; i < n; ++i) cin >> a[i];
  for (int k = 1; k <= (n + 1) / 2; ++k) {
    for (int i = 0; i < n; ++i) {
      dp[i][k][0] = dp[i][k][1] = 1e18;
      if (i > 0) dp[i][k][0] = min(dp[i][k][0], dp[i - 1][k][0]);
      if (k == 1 || i >= 2)
        dp[i][k][0] =
            min(dp[i][k][0], (i < n - 1 ? max(0, a[i + 1] - a[i] + 1) : 0) +
                                 (i > 0 ? max(0, a[i - 1] - a[i] + 1) : 0) +
                                 (i >= 2 ? dp[i - 2][k - 1][1] : 0));
      if (i > 0) dp[i][k][1] = min(dp[i][k][1], dp[i - 1][k][0]);
      if (i < n - 2 && (k == 1 || i >= 2))
        dp[i][k][1] =
            min(dp[i][k][1], max(0, min(a[i + 1], a[i + 2] - 1) - a[i] + 1) +
                                 (i > 0 ? max(0, a[i - 1] - a[i] + 1) : 0) +
                                 (i >= 2 ? dp[i - 2][k - 1][1] : 0));
    }
    cout << dp[n - 1][k][0] << " ";
  }
  cout << "\n";
}
