#include "bits/stdc++.h" using namespace std; #define REP(i, n) for(int i=0; i<(n); i++) int N,T; int dp[100][1000]; // N進化目x覚醒数 -> 必要枚数 signed main() { cin >> N; vector S(N+1); REP(i,N+1) cin >> S[i]; REP(i,N+1) REP(j,111) dp[i][j] = 1e9; dp[0][0] = 1; REP(i,N+1) REP(j,111) { if (j > S[i]) break; // 覚醒数上限有り if (i > 0) { // 進化 dp[i][j] = min(dp[i][j], dp[i-1][j] + 1); } // 強化 REP(k,j) { dp[i][j] = min(dp[i][j], dp[i][j-k-1] + dp[i][k]); } } REP(i,S[N]+1) { cout << dp[N][i] << " "; } cout << endl; return 0; }