暂无测试数据。
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
有一个正整数数列 {a},只要还存在两个相同的数,就会进行以下操作:
找到值最小的并且出现次数大于等于2的数x,记 最先出现的两个位置为 i和j(i<j),ai=aj=x,移掉 ai并且将aj修改 为 2×x。
例:[3,4,1,2,2,1,1]→ [3,4,2,2,2,1]→ [3,4,4,2,1]→ [3,8,2,1]。
要求出最后得到的数列。
输入格式
第一行一个整数n,表示数列的大小。
第二行 n个正整数,数列 a。
输出格式
第一行一个整数,操作后的数列大小 size。
第二行 size个整数,操作后的数列。
样例
输入样例1
7
3 4 1 2 2 1 1
输出样例1
4
3 8 2 1
输入样例2
5
1 1 3 1 1
输出样例2
2
3 4
提示
对于50%数据,2<=n<=1000
对于100%数据,满足2<=n<=150000,1<ai<109