#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long LL; LL dp[11][11]; int S[11]; int main(void){ int N; cin >> N; for (int i = 0; i < 11; i++){ for (int j = 0; j < 11; j++){ dp[i][j] = 1 << 20; } } for (int i = 0; i <= N; i++){ cin >> S[i]; dp[i][0] = i+1; } for (int i = 1; i <= S[0]; i++){ dp[0][i] = i+1; } for (int i = 1; i <= N; i++) for (int j = 1; j <= S[i]; j++){ dp[i][j] = dp[i - 1][j] + 1; for (int k = 0; k < j; k++) dp[i][j] = min(dp[i][j], dp[i][k] + dp[i][j - k - 1]); } for (int i = 0; i <= S[N]; i++){ cout << !i +" "<< dp[N][i]; } cout << endl; return(0); }