最大权重差(Code Chef)问题



谁能告诉我这段代码有什么问题,在codechef上提交这段代码时显示"错误的答案">

for i in range(int(input())):
n,k=map(int,input().split())
arr=list(map(int,input().split()))
arr.sort()
arr1=arr[:k]
arr2=arr[k:]
print(abs(sum(arr1)-sum(arr2)))

我认为你需要这样修改你的代码:

for i in range(int(input())):
n, k = map(int, input().split())
arr = list(map(int, input().split()))
arr.sort()
if (k > len(arr) / 2):    //add this line
k = len(arr) - k      //add this line
arr1 = arr[:k]
arr2 = arr[k:]
print(abs(sum(arr1) - sum(arr2)))

最新更新