世界泡合并

世界泡合并

题目描述
对于我们存在的本证世界,可以抽象成一棵树和一片海。它们互相竞争,汲取对方的养分,我们将其称为虚数之树和量子之海。(对于它们的性质这里不过多阐述)。虚数之树的枝丫上拥有无数的分支,代表无限的可能性,每根枝丫都会延伸出一个世界泡。通过观测,我们得知每隔一段时间世界泡便会凋零,最终沉入量子之海。而量子之海中的世界泡最终会被吸收而消弭,但有两种方法可以延续世界泡的存在。分别是将世界泡的体量扩大或缩小到极端,前者有利于抵抗海的侵蚀,而后者则可以利用“欺瞒”的方式躲避树的机制重新“嫁接”回树。改变体量的方法我们称之为世界泡合并(World Bubble Merge),其原理是利用月光王座的虚数内能转换装置将当前体量最小的世界泡的能量进行压缩(若有多个则选择编号较小的),并给予相邻的两个世界泡与自身等量的能量,(便于合并,我们将操作抽象为一条链,相邻是指该世界泡的左右两个世界泡),再利用锚定技术进行“嫁接”。这样可以同时使某些世界泡的体量缩小和扩大。

输入格式
第一行输入整数n和k,表示世界泡总数和需要“嫁接”的世界泡的个数。
第二行有n个整数,每个整数ai表示世界泡的初始体量。

输出格式
输出n-k个数,中间用一个空格隔开,表示k次合并后任留在海中的世界泡的体量。

输入样例:

5 3
1 4 2 8 7

输出样例:

17 7

样例说明
为便于理解,特加此说明:
[1] 4 2 8 7
5 [2] 8 7
[7] 10 7
17 7

数据范围
对于30%的数据,
1≤k<n≤1e4。
对于100%的数据,
1≤k<n≤5×1e5,0≤ai≤1e8。

信息

ID
1012
难度
9
分类
(无)
标签
递交数
1
已通过
1
通过率
100%
上传者