传统题 1000ms 512MiB

外卖

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

外卖

奶龙又点了 nn 份外卖,但是他不喜欢重量相同的外卖,所以他会不断找到两个重量相同的外卖把他们合并在一起。 形式化地,有一个有序序列 aa,奶龙会找到满足 ai=aja_i=a_j的最小的 ii, jj,删除aia_i,并令aj=aj+aia_j= a_j+a_i。请你求出来,奶龙不断进行这样的操作后,最终得到的每个外卖的重量。

输入格式

第一行,一个正整数,表示外卖数量 nn; 第二行,nn 个整数,第 ii 个整数代表第 ii 个外卖的重量 aia_i

输出格式

第一行,输出最终的外卖数量; 第二行,按顺序输出每个外卖的重量。

样例

样例输入 #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 

样例输入 #3

5
10 40 20 50 30

样例输出 #3

5
10 40 20 50 30 

数据范围与约定

对于 20%20\% 的数据,保证 ij,aiaj\forall i\neq j, a_i \neq a_j; 对于 40%40\% 的数据,n5000n\leq 5000; 对于 100%100\% 的数据,1n2×105,1ai1091\leq n \leq 2\times 10^5, 1\leq a_i\leq 10^9

普及提高自测

未参加
状态
已结束
规则
IOI
题目
6
开始于
2025-5-6 18:30
结束于
2025-5-27 14:30
持续时间
500 小时
主持人
参赛人数
18