该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
给定正整数 n,a,b,c。对于 i=1,2,…,n,构造一个代价最小的表达式,使得表达式求值的结果为 i。只需要求出最小的代价。
我们给出表达式及其代价的定义。
- 1 是代价为 a、求值结果为 1 的表达式。
- 若 X,Y 的代价分别为 x,y,且求值结果分别为 p,q:
- (X+Y) 是代价为 x+y+b、求值结果为 p+q 的表达式。
- (X×Y) 是代价为 x+y+c、求值结果为 p⋅q 的表达式。
例如,((1+1)×(1+1))×(1+1) 是代价为 6a+3b+2c,求值结果为 8 的表达式。
输入格式
一行四个正整数 n,a,b,c(1≤n≤3000,1≤a,b,c≤109)。
输出格式
n 个正整数,第 i 个正整数表示求值结果为 i 的表达式的最小代价。
6 1 4 2
1 6 11 14 19 19
样例 1 解释
下表展示了可以得到 1∼6 的最小代价的表达式。
| 求值结果 |
表达式 |
代价 |
| 1 |
1 |
a=1 |
| 2 |
(1+1) |
2a+b=2+4=6 |
| 3 |
((1+1)+1) |
3a+2b=3+8=11 |
| 4 |
((1+1)∗(1+1)) |
4a+2b+c=4+8+2=14 |
| 5 |
(((1+1)∗(1+1))+1) |
5a+3b+c=5+12+2=19 |
| 6 |
((1+1)∗((1+1)+1)) |
9 2 3 1
2 7 12 15 20 20 25 23 25
提示
子任务
本题采用捆绑测试。
| 子任务编号 |
限制 |
得分 |
| 1 |
n≤10 |
13 |
| 2 |
n≤200 |
31 |
| 3 |
a=b=c=1 |
13 |
| 4 |
无额外限制 |
43 |