#628. 最最大子段和

最最大子段和

  • 输入文件:bigger.in
  • 输出文件:bigger.out

题目背景

wjyyy\mathrm{wjyyy} 喜欢玩数组。劫营测这天, 他从 LeavingZ\mathrm{LeavingZ} 手里得到了大小为 nn 的一个数组。

题目描述

wjyyy\mathrm{wjyyy} 求出了这个数组的所有子段和, 并将这 n(n+1)2\frac{n(n+1)}2 个数降序排序, 他想知道前 kk 个数是什么。

区间 [l,r][l,r] 的子段和:指从 llrr 之间所有数的和。

数据格式

输入数据

输入数据的第一行包含两个整数 nnkk

接下来一行包含 nn 个正整数,代表这个数组。

输出数据

输出 kk 个数,代表降序之后的前 kk 个数,用空格隔开。

Samples

3 4
1 3 4
8 7 4 4
3 3
10 2 7
19 12 10

说明

输入输出样例1解释:

这是样例解释

测试点编号 nn\le kk\le
1 100 500
2 500 100000
3 1000 80000
4 100000
5 10000 50000
6 20000 80000
7 50000
8 100000
9 100000
10

对于所有数据, 满足 0<ai109,kn(n+1)2,n100000,k1000000<a_i\le 10^9,k\le \frac{n(n+1)}2,n\le 100000,k\le 100000