#CF1945D. 猫头鹰塞拉芬
猫头鹰塞拉芬
D. 猫头鹰塞拉芬
每个测试用例时间限制: 秒 每个测试用例内存限制: 兆字节
一群人排成一队,一共有 个人,编号从 开始,排队向猫头鹰塞拉芬询问人生的意义。不幸的是,基里尔忙着编写这道题目的题面,所以他来得稍晚,站在了这 个人的队尾。基里尔对自己的位置非常不满,于是他决定贿赂排在他前面的一些人。
对于队列中的第 个人,基里尔知道两个数值 和 。 如果当前基里尔站在位置 ,那么他可以选择任意一个满足 的位置 ,并与位置 的人交换位置。 在这种情况下:
- 基里尔需要付给位置 的人 个金币;
- 并且对于每一个满足 的 ,基里尔都要付给位置 的人 个金币。
基里尔可以进行任意次这样的操作。
基里尔很节俭,希望花费尽可能少的金币,但他又不想等太久,所以他希望自己最终能排在队列的前 个位置。
请你帮助基里尔计算:为了排进前 个位置,他最少需要花费多少金币。
输入格式
输入包含多组测试数据。 第一行包含一个整数 (),表示测试用例的数量。
每组测试用例如下:
- 第一行包含两个整数 和 (),分别表示除基里尔外的总人数、基里尔能接受的最大最终位置。
- 第二行包含 个整数 ()。
- 第三行包含 个整数 ()。
保证所有测试用例的 之和不超过 。
输出格式
对于每组测试用例,输出一个整数 —— 基里尔需要花费的最少金币数。
样例输入
4
4 2
7 3 6 9
4 3 8 5
6 2
6 9 7 1 8 3
5 8 8 1 4 1
7 7
7 2 9 2 6 5 9
9 1 10 7 1 4 9
2 1
2 3
1 1
样例输出
14
22
9
3