第k大查询
题目描述
给定一个 1∼n 的排列 a1,a2,a3,…,an,想知道所有的区间 [l,r] 满足 r−l+1≥k,这样的区间里的数中第 k 大的元素,输出它们的和。
输入格式
第一行一个整数 n,k。
接下来一行 n 个整数 a1,a2,a3,…,an。
输出格式
输出一行,一个整数表示答案。
样例输入
5 2
1 2 3 4 5
样例输出
30
样例解释
其中区间[1,5],[2,5],[3,5],[4,5]的第2大为4,区间[1,4],[2,4],[3,4]的第2大为3,区间[1,3],[2,3]的第2大为2,区间[1,2]的第2大为1。
数据范围
共 10 组数据。
测试点 1,2 满足1≤n≤100。
测试点 3,4 满足 1≤n≤103。
测试点 5,6 满足 k=1。
测试点 7,8 满足 n≤5×104。
对于 100% 的数据,满足 1≤n≤5×105,1≤k≤50。
提示
见下发文件。