P9667 [ICPC 2022 Jinan R] Tower
题目描述
庞教授搭了 $n$ 座不同高度的塔。第 $i$ 座塔的高度是 $a _ {i}$。
寿教授不喜欢这些参差不齐的塔。他决定**先去掉它们中的 $m$ 座**,然后执行以下操作中的一些(或不执行):
- 选择一座塔并增加它 $1$ 个单位高度。
- 选择一座塔并减少它 $1$ 个单位高度。
- 选择一座塔并把它的高度 $a _ {i}$ 除以 $2$,如果它不是整数的话,向下取整。
寿教授永远不会选择被拆除的塔。如果操作后,塔的高度变为 $0$,则不允许操作。在这些约束条件下,寿教授可以按任意顺序执行任意数量的运算。
寿教授希望所有没有被拆除的塔都有相同的高度 $a _ {i}$。请计算实现此目标的最小操作次数。
输入格式
第一行是一个整数 $T(1\leqslant$ $T$ $\leqslant$ $10)$,表示有 $T$ 组数据。
对于每组测试数据,第一行包括两个整数 $n,m (1\leqslant$ $n$ $\leqslant$ $500$,$0$ $\leqslant$ $m$ $\leqslant n$),表示塔的数量以及寿教授在执行操作之前应该删除的塔的数量。
下一行包括 $n$ 个整数 $a _ {1},\dots,a _ {n} (1\leqslant$ $a _ {i}$ $\leqslant$ $10^9)$,表示塔的最初高度。
输出格式
对于每组测试数据,在一行中输出最小操作数。