#include #include #include using namespace std; #define RREP(i,s,e) for (i = s; i >= e; i--) #define rrep(i,n) RREP(i,n,0) #define REP(i,s,e) for (i = s; i < e; i++) #define rep(i,n) REP(i,0,n) #define INF 100000000 typedef long long ll; int dp[11][11]; int main() { int i, j, k, n; int s[11]; cin >> n; rep (i,n+1) cin >> s[i]; rep (i,n+1) fill(dp[i],dp[i]+s[n]+1,INF); rep (i,s[0]+1) dp[0][i] = i+1; REP (i,1,n+1) rep (j,s[i]+1) { dp[i][j] = dp[i-1][j] + 1; rep (k,j/2+1) dp[i][j] = min(dp[i][j],dp[i][k]+dp[i][j-k-1]); } rep (i,s[n]+1) cout << dp[n][i] << " "; cout << endl; return 0; }