CF2098B.Sasha and the Apartment Purchase
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Sasha 想在一条街道上购买一套公寓,这条街道上的房屋从左到右编号为 1 到 109。
这条街道上有 n 家酒吧,分别位于编号为 a1,a2,…,an 的房屋中。注意,可能有多个酒吧位于同一房屋中,这种情况下这些酒吧被视为不同的酒吧。
Sasha 担心在他购买公寓时,部分酒吧可能会关闭,但最多不超过 k 家酒吧会关闭。
对于任意编号为 x 的房屋,定义 f(x) 为所有开放酒吧 y(即关闭部分酒吧后)的 ∣x−y∣ 之和。
Sasha 可以购买编号为 x(1≤x≤109)的房屋中的公寓,当且仅当可以通过关闭最多 k 家酒吧,使得 f(x) 在所有房屋中达到最小值。
请确定 Sasha 可以购买公寓的不同房屋数量。
输入格式
每个测试包含多个测试用例。第一行输入测试用例数量 t(1≤t≤104)。接下来是各测试用例的描述。
每个测试用例的第一行包含两个整数 n 和 k(1≤n≤105,0≤k<n)——酒吧数量和最多可以关闭的酒吧数量。
每个测试用例的第二行包含 n 个整数 a1,a2,…,an(1≤ai≤109)——酒吧所在的房屋编号。
保证所有测试用例的 n 之和不超过 105。
输出格式
对于每个测试用例,输出一个整数——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
说明/提示
在第一个测试用例中,没有酒吧可以关闭,因此只有编号为 2 和 3 的房屋是合适的。对于编号为 2 的房屋,距离之和为 ∣2−1∣+∣2−2∣+∣2−3∣+∣2−4∣=4;对于编号为 3 的房屋,距离之和为 ∣3−1∣+∣3−2∣+∣3−3∣+∣3−4∣=4。然而,对于编号为 1 的房屋,距离之和为 ∣1−1∣+∣1−2∣+∣1−3∣+∣1−4∣=6,因此编号为 1 的房屋不合适。可以证明 Sasha 也无法在其他房屋购买公寓。
在第二个测试用例中,合适的房屋编号为 6 和 7。如果 Sasha 选择编号为 6 的房屋,只需不关闭任何酒吧。如果 Sasha 选择编号为 7 的房屋,可以关闭编号为 1 和 6 的房屋中的酒吧。此时开放的酒吧将位于编号为 6、7 和 7 的房屋中。
翻译由 DeepSeek V3 完成
输入解题思路,AI测评打分。不知道怎么写?