子序列和问题 acm

题目描述

给定一个序列 {a1,a2,…,an},定义从a[l]到a[r]的连续子序列的和为sum[l,r],即sum[l,r]=sigma{ai},l<=i<=r。(1<=l<=r<=n)
现在,我想知道在所有的sum中,第k大的sum是多少?

输入

第一行两个整数n,k.
第二行,n个整数a1,a2,…,an.
(1≤n≤10^5,1≤k≤n(n+1)/2,1≤ai≤10^4)

输出

输出一个整数,即第k大的sum.

样例输入

3 4 1 2 3

样例输出

3

提示

样例中总共有6个连续子序列: {1},{2},{3},{1,2},{2,3},{1,2,3} 他们的和分别是 {1,2,3,3,5,6}.

 
 
 
 
 
posted @ 2014-04-19 20:55  zhoudan  阅读(296)  评论(0编辑  收藏  举报