#M260422. 首发阵容

    ID: 188 传统题 1000ms 256MiB 尝试: 6 已通过: 3 难度: 10 上传者: 标签>基础算法贪心提高数据结构单调队列二分

首发阵容

题目描述

小Z所在的球队 nn 名成员都各有一个“战力值” aia_i。现在排成了一排。

比赛组委会要求各个队伍必须选取排在队伍最前的 kk 名队员作为首发阵容参赛,此时的总战力值就是这前 kk 名成员战力值之和,即 i=1kai\sum_{i=1}^{k}a_i

教练想对首发阵型做一些优化,但现在时间有限,他只能每次交换相邻两位队员的顺序,询问他至少要交换多少次,能使得新的前 kk 名队员的战力值之和比之前大就可以了。

输入格式

第一行,22 个正整数 n,kn,k

第二行,nn 个用空格隔开的正整数 aia_i

输出格式

最少的相邻两两交换的次数,能使得新的首发阵容战力值更大。如果不存在相应方案,输出 -1

输入输出样例

4 2
2 1 1 2
2

样例 #1\tt \#1说明

初始时首发阵容战力值 =a1+a2=3=a_1+a_2=3

可以依次交换 (a4,a3)(a3,a2)(a_4,a_3)(a_3​,a_2​),把序列变成 (2,2,1,1)(2,2,1,1)。使得新的首发阵容战力值更大为 a1+a2=2+2=4a_1+a_2=2+2=4

3 1
3 2 1
-1

样例 #2\tt \#2说明

33 已经最大,没有更大的情况

20 13
90699850 344821203 373822335 437633059 534203117 523743511 568996900 694866636 683864672 836230375 751240939 942020833 865334948 142779837 22252499 197049878 303376519 366683358 545670804 580980054
13

数据范围

30%:1n20,1ai10930\%:1\le n\le 20, 1\le a_i \le 10^9

60%:1n5000,1ai10960\%:1\le n\le 5000, 1\le a_i \le 10^9

100%:1kn105,1ai109100\%:1\le k\le n\le 10^5, 1\le a_i \le 10^9