题目描述
给定一个长度为 $N$ 的整数数列:$A_1, A_2, \dots, A_N$。你要重复以下操作 $K$ 次:
每次选择数列中最小的整数(如果最小值不止一个,选择最靠前的),将其删除。并把与它相邻的整数加上被删除的数值。
输出 $K$ 次操作后的序列。
输入格式
第一行包含两个整数 $N$ 和 $K$。
第二行包含 $N$ 个整数,$A_1, A_2, A_3, \dots, A_N$。
输出格式
输出 $N - K$ 个整数,中间用一个空格隔开,代表 $K$ 次操作后的序列。
提示
#### 【样例说明】
数列变化如下,中括号里的数是当次操作中被选择的数:
```text
[1] 4 2 8 7
5 [2] 8 7
[7] 10 7
17 7
```
#### 【评测用例规模与约定】
对于 $20\%$ 的数据,$1 \le K \lt N \le 10000$。
对于 $100\%$ 的数据,$1 \le K \lt N \le 5 \times 10^5$,$0 \le A_i \le 10^8$。
来源
第十四届蓝桥杯大赛软件类省赛C/C++大学B组