OpenJudge

B03S01:切蛋糕

总时间限制:
1000ms
内存限制:
65536kB
描述

sophie现在有N块不同大小的蛋糕,她吃蛋糕遵循如下奇特的规则:

1. 首先将所有蛋糕从大到小排成一列

2. 每次拿出队首最大的蛋糕,如果其大小w正好为1,就将其吃掉;否则将其切为大小为floor(w/2)的2块蛋糕放回队尾,这里floor()代表向下取整。

sophie按照这个规则不断切蛋糕吃蛋糕,直到她吃完了所有蛋糕。请问,她总共切了多少次蛋糕,每次所切蛋糕的大小是多少。


输入
2行
第1行包含1个正整数N(1 <= N <= 100),代表初始蛋糕总数
第2行包含N个(1 <= w[i] <= 100)整数,代表初始蛋糕大小,空格隔开
输出
依次给出每次所切蛋糕的大小,空格隔开。
样例输入
3
2 3 1
样例输出
3 2
提示
*首先排成{3 2 1},第1次切3,队列变为{2,1,1,1};第2次切2,队列变为{1,1,1,1,1}.
全局题号
15720
添加于
2017-08-01
提交次数
10
尝试人数
9
通过人数
9