传统题 1000ms 512MiB

外卖

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

外卖

奶龙又点了 nn 份外卖,但是他不喜欢重量相同的外卖,所以他会不断找到两个重量相同的外卖把他们合并在一起。 形式化地,有一个有序序列 aa,奶龙会找到满足 ai=aja_i=a_j的最小的aia_i, 以及其对应的最小的两个下标ii, jj (i<j)(i < j),删除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

[YDRB#007] 劳动的 Oier 最光荣 · 云斗五月 Bronze Round

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