Problem F: 小练习闯关
[Creator : ]
Description
在小学信息课上,老师准备了一个“小练习闯关”活动,一共有 5 道小任务,分别记作:
- 任务A、任务 B、任务 C、任务 D、任务 E
- A 得 分,B 得 分,C 得 分,D 得 分,E 得 分。
对字符串 ABCDE 的 所有非空子序列(不要求连续),都恰好存在一种“完成方案”。
也就是说,把 ABCDE 看成 5 个任务的集合,那么:
- 每一种 非空任务组合 都会出现一次
-
例如:
-
只做了 A 的方案记为
{A}
-
做了 B、C、E 的方案记为
{B,C,E}
你需要做的是:
-
只做了 A 的方案记为
- 枚举出所有 31 种非空完成方案(因为 )。
- 计算每种方案的总积分(把包含的任务分数相加)。
- 把这 31 个总积分 从大到小排序并输出。
Input
一行输入 5 个整数:
a b c d e
Output
输出 31 行。
将所有非空完成方案的总积分 从大到小排序 后输出:
- 第 1 行输出最高的总分
- 第 31 行输出最低的总分
- 若出现相同的总分,则这些相同总分都要输出(出现几次就输出几行),它们之间的相对顺序不作额外要求。
Sample Input Copy
400 500 600 700 800
Sample Output Copy
3000
2600
2500
2400
2300
2200
2100
2000
1900
1900
1800
1800
1700
1700
1600
1500
1500
1400
1300
1300
1200
1200
1100
1100
1000
900
800
700
600
500
400
HINT
数据范围
- 输入均为整数