CF2098B.Sasha and the Apartment Purchase

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

Sasha 想在一条街道上购买一套公寓,这条街道上的房屋从左到右编号为 11 到 10910^9。

这条街道上有 nn 家酒吧,分别位于编号为 a1,a2,…,ana_1, a_2, \ldots, a_n 的房屋中。注意,可能有多个酒吧位于同一房屋中,这种情况下这些酒吧被视为不同的酒吧。

Sasha 担心在他购买公寓时,部分酒吧可能会关闭,但最多不超过 kk 家酒吧会关闭。

对于任意编号为 xx 的房屋,定义 f(x)f(x) 为所有开放酒吧 yy(即关闭部分酒吧后)的 ∣x−y∣|x - y| 之和。

Sasha 可以购买编号为 xx(1≤x≤1091 \le x \le 10^9)的房屋中的公寓,当且仅当可以通过关闭最多 kk 家酒吧,使得 f(x)f(x) 在所有房屋中达到最小值。

请确定 Sasha 可以购买公寓的不同房屋数量。

输入格式

每个测试包含多个测试用例。第一行输入测试用例数量 tt(1≤t≤1041 \le t \le 10^4)。接下来是各测试用例的描述。

每个测试用例的第一行包含两个整数 nn 和 kk(1≤n≤1051 \leq n \leq 10^5,0≤k<n0 \leq k < n)——酒吧数量和最多可以关闭的酒吧数量。

每个测试用例的第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \ldots, a_n(1≤ai≤1091 \leq a_i \leq 10^9)——酒吧所在的房屋编号。

保证所有测试用例的 nn 之和不超过 10510^5。

输出格式

对于每个测试用例,输出一个整数——Sasha 可以购买公寓的房屋数量。

输入输出样例

  • 输入#1

    4
    4 0
    1 2 3 4
    5 2
    7 6 6 7 1
    3 1
    6 7 9
    6 2
    5 1 9 10 13 2

    输出#1

    2
    2
    4
    9

说明/提示

在第一个测试用例中,没有酒吧可以关闭,因此只有编号为 22 和 33 的房屋是合适的。对于编号为 22 的房屋,距离之和为 ∣2−1∣+∣2−2∣+∣2−3∣+∣2−4∣=4|2 - 1| + |2 - 2| + |2 - 3| + |2 - 4| = 4;对于编号为 33 的房屋,距离之和为 ∣3−1∣+∣3−2∣+∣3−3∣+∣3−4∣=4|3 - 1| + |3 - 2| + |3 - 3| + |3 - 4| = 4。然而,对于编号为 11 的房屋,距离之和为 ∣1−1∣+∣1−2∣+∣1−3∣+∣1−4∣=6|1 - 1| + |1 - 2| + |1 - 3| + |1 - 4| = 6,因此编号为 11 的房屋不合适。可以证明 Sasha 也无法在其他房屋购买公寓。

在第二个测试用例中,合适的房屋编号为 66 和 77。如果 Sasha 选择编号为 66 的房屋,只需不关闭任何酒吧。如果 Sasha 选择编号为 77 的房屋,可以关闭编号为 11 和 66 的房屋中的酒吧。此时开放的酒吧将位于编号为 66、77 和 77 的房屋中。

翻译由 DeepSeek V3 完成

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

首页