题解:排序后,前 n − 2 k n-2k n−2k个元素必选,对于后面的元素,按照 a i / a i + k a_{i}/a_{i+k} ai/ai+k这样的顺序选择。
import sys,math
DEBUG = 0
if DEBUG==1:
sys.stdin = open('1.in', 'r')
#sys.stdout = open('tmp.out', 'w')
def readi():
return [int(t) for t in input().split()]
def solve(n,k,a):
a.sort()
score=0
for i in range(n):
if i<n-2*k:
score+=a[i]
elif i<n-k:
score += math.floor(a[i]/a[i+k])
print(score)
def main():
T, = readi()
for _ in range(T):
n,k = readi()
a = readi()
solve(n,k,a)
main()