CF1969D.Shop Game

普及+/提高

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Alice 和 Bob 正在商店里玩游戏。商店里有 nn 件商品;每件商品有两个参数: aia_i(Alice 买进的物品价格)和 bib_i(愿意出的物品价格)。

Alice 希望选择一个商品子集(可能是空)并购买它们。之后,Bob 会执行以下操作:

  • 如果 Alice 购买的物品少于 kk,Bob 可以免费拿走所有物品;
  • 否则,他会免费拿走 Alice 购买的 kk 个物品(由 Bob 选择是哪些 kk 个物品),至于其他被选中的物品,Bob 会从 Alice 那里购买,并为 ii 号物品支付 bib_i。

Alice 的利润等于 ∑i∈Sbi−∑j∈Taj\sum\limits_{i\in S}b_i-\sum\limits_{j \in T}a_j,其中 SS 是 Bob 从 Alice 处购买的物品集,TT 是 Alice 从商店购买的物品集。换句话说,Alice 的利润就是 Bob 支付给她的金额和她购买商品所花费的金额之间的差额。

Alice 希望自己的利润最大化,而 Bob 希望 Alice 的利润最小化。您的任务是计算在 Alice 和 Bob 都采取最优行动的情况下 Alice 的利润。

输入格式

第一行包含一个整数 $ t $ ( $ 1 \le t \le 10^4 $ )——测试用例的数量。

每个测试用例的第一行包含两个整数 $ n $ 和 $ k $ ( $ 1 \le n \le 2 \cdot 10^5 ,, 0 \le k \le n $ )。

第二行包含 $ n $ 整数 $ a_1, a_2, \dots, a_n $ ( $ 1 \le a_i \le 10^9 $ )。

第三行包含 $ n $ 整数 $ b_1, b_2, \dots, b_n $ ( $ 1 \le b_i \le 10^9 $ )。

输出格式

对于每个测试用例,打印一个整数——如果Alice和Bob都采取最优行为,则Alice的利润。

输入输出样例

  • 输入#1

    4
    2 0
    2 1
    1 2
    4 1
    1 2 1 4
    3 3 2 3
    4 2
    2 1 1 1
    4 2 3 2
    6 2
    1 3 4 9 1 3
    7 6 8 10 6 8

    输出#1

    1
    1
    0
    7

说明/提示

在第一个测试用例中,Alice应该购买 $ 2 $ 然后把它卖给鲍勃,那么她的利润是 $ 2 - 1 = 1 $ 。

在第二个测试用例中,Alice应该购买 $ 1 ,, 2 $ 和 $ 3 $ 项;然后鲍勃可以接受 $ 1 $ 免费,并支付 $ 2 $ 和 $ 3 $ 。Alice的利润是 $ (3+2) - (1+2+1) = 1 $ 。鲍勃也可以接受 $ 2 $ 为免费的物品,这不会改变Alice的利润。鲍勃不会接受 $ 3 $ 为免费的物品,因为这样 Alice 的利润为 $ 2 $。

输入解题思路,AI测评打分。不知道怎么写?

首页