Seraphim the Owl
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
Description
一群人排成了一个队列,总共有n个人,从第i=1个人开始,想问猫头鹰Serafim关于生命意义的问题。不幸的是,Kirill正忙着为这个问题编写传奇故事,所以他来得有点晚,站在了第n个人之后的队尾。Kirill对这种情况非常不满,所以他决定贿赂一些在他前面的人。
对于队列中的第i个人,Kirill知道两个值:ai和bi。如果此刻Kirill站在位置i,那么他可以选择任意位置j,使得j<i,并与位置j的人交换位置。在这种情况下,Kirill需要支付aj个硬币给他。对于每个k,使得j<k<i,Kirill需要支付bk个硬币给位置k的人。Kirill可以执行这个动作任意次数。
Kirill很节俭,所以他希望尽量少地花费硬币,但他又不想等太久,所以他认为自己应该是前m个人之一。
帮助Kirill确定他需要花费的最少硬币数量,以便不用等太久。
输入
每个测试包含多组输入数据。第一行包含一个整数t(1≤t≤1e4)— 测试用例的数量。然后是测试用例的描述。
每个测试用例的第一行包含两个整数n和m(1≤m≤n≤2e5)— 除了Kirill之外队列中的人数,以及Kirill允许的最大最终位置。
第二行包含n个以空格分隔的整数a1,a2,…,an。
第三行包含n个以空格分隔的整数b1,b2,…,bn。
保证所有测试用例中n值的总和不超过2e5。
输出
对于每个测试用例,输出一个整数 — Kirill需要花费的最少硬币数量。
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