from itertools import combinations
def max_abs_sum_gain(a1, b1, a2, b2):
orig = abs(a1 - b1) + abs(a2 - b2)
values = [a1, b1, a2, b2]
max_new = 0
for pair in combinations(range(4), 2):
i, j = pair
rest = [k for k in range(4) if k != i and k != j]
for a_pair in [(values[i], values[j]), (values[j], values[i])]:
for b_pair in [(values[rest[0]], values[rest[1]]), (values[rest[1]], values[rest[0]])]:
new_v = abs(a_pair[0] - a_pair[1]) + abs(b_pair[0] - b_pair[1])
max_new = max(max_new, new_v)
return max_new - orig
def solve():
import sys
input = sys.stdin.read
data = input().split()
idx = 0
t = int(data[idx])
idx += 1
results = []
for _ in range(t):
n = int(data[idx])
idx += 1
k = int(data[idx])
idx += 1
a = list(map(int, data[idx:idx + n]))
idx += n
b = list(map(int, data[idx:idx + n]))
idx += n
initial_v = sum(abs(a[i] - b[i]) for i in range(n))
gains = []
for i in range(n - 1):
gain = max_abs_sum_gain(a[i], b[i], a[i + 1], b[i + 1])
if gain > 0:
gains.append(gain)
gains.sort(reverse=True)
final_v = initial_v - sum(gains[:k])
results.append(str(final_v))
print("\n".join(results))
solve()
ZnJvbSBpdGVydG9vbHMgaW1wb3J0IGNvbWJpbmF0aW9ucwoKZGVmIG1heF9hYnNfc3VtX2dhaW4oYTEsIGIxLCBhMiwgYjIpOgogICAgb3JpZyA9IGFicyhhMSAtIGIxKSArIGFicyhhMiAtIGIyKQogICAgdmFsdWVzID0gW2ExLCBiMSwgYTIsIGIyXQogICAgbWF4X25ldyA9IDAKICAgIGZvciBwYWlyIGluIGNvbWJpbmF0aW9ucyhyYW5nZSg0KSwgMik6CiAgICAgICAgaSwgaiA9IHBhaXIKICAgICAgICByZXN0ID0gW2sgZm9yIGsgaW4gcmFuZ2UoNCkgaWYgayAhPSBpIGFuZCBrICE9IGpdCiAgICAgICAgZm9yIGFfcGFpciBpbiBbKHZhbHVlc1tpXSwgdmFsdWVzW2pdKSwgKHZhbHVlc1tqXSwgdmFsdWVzW2ldKV06CiAgICAgICAgICAgIGZvciBiX3BhaXIgaW4gWyh2YWx1ZXNbcmVzdFswXV0sIHZhbHVlc1tyZXN0WzFdXSksICh2YWx1ZXNbcmVzdFsxXV0sIHZhbHVlc1tyZXN0WzBdXSldOgogICAgICAgICAgICAgICAgbmV3X3YgPSBhYnMoYV9wYWlyWzBdIC0gYV9wYWlyWzFdKSArIGFicyhiX3BhaXJbMF0gLSBiX3BhaXJbMV0pCiAgICAgICAgICAgICAgICBtYXhfbmV3ID0gbWF4KG1heF9uZXcsIG5ld192KQogICAgcmV0dXJuIG1heF9uZXcgLSBvcmlnCgpkZWYgc29sdmUoKToKICAgIGltcG9ydCBzeXMKICAgIGlucHV0ID0gc3lzLnN0ZGluLnJlYWQKICAgIGRhdGEgPSBpbnB1dCgpLnNwbGl0KCkKCiAgICBpZHggPSAwCiAgICB0ID0gaW50KGRhdGFbaWR4XSkKICAgIGlkeCArPSAxCiAgICByZXN1bHRzID0gW10KICAgIGZvciBfIGluIHJhbmdlKHQpOgogICAgICAgIG4gPSBpbnQoZGF0YVtpZHhdKQogICAgICAgIGlkeCArPSAxCiAgICAgICAgayA9IGludChkYXRhW2lkeF0pCiAgICAgICAgaWR4ICs9IDEKICAgICAgICBhID0gbGlzdChtYXAoaW50LCBkYXRhW2lkeDppZHggKyBuXSkpCiAgICAgICAgaWR4ICs9IG4KICAgICAgICBiID0gbGlzdChtYXAoaW50LCBkYXRhW2lkeDppZHggKyBuXSkpCiAgICAgICAgaWR4ICs9IG4KCiAgICAgICAgaW5pdGlhbF92ID0gc3VtKGFicyhhW2ldIC0gYltpXSkgZm9yIGkgaW4gcmFuZ2UobikpCiAgICAgICAgZ2FpbnMgPSBbXQoKICAgICAgICBmb3IgaSBpbiByYW5nZShuIC0gMSk6CiAgICAgICAgICAgIGdhaW4gPSBtYXhfYWJzX3N1bV9nYWluKGFbaV0sIGJbaV0sIGFbaSArIDFdLCBiW2kgKyAxXSkKICAgICAgICAgICAgaWYgZ2FpbiA+IDA6CiAgICAgICAgICAgICAgICBnYWlucy5hcHBlbmQoZ2FpbikKCiAgICAgICAgZ2FpbnMuc29ydChyZXZlcnNlPVRydWUpCiAgICAgICAgZmluYWxfdiA9IGluaXRpYWxfdiAtIHN1bShnYWluc1s6a10pCiAgICAgICAgcmVzdWx0cy5hcHBlbmQoc3RyKGZpbmFsX3YpKQoKICAgIHByaW50KCJcbiIuam9pbihyZXN1bHRzKSkKCnNvbHZlKCkK
NQoyIDEKMSA3CjMgNQozIDIKMSA1IDMKNiAyIDQKNSA0CjEgMTYgMTAgMTAgMTYKMyAyIDIgMTUgMTUKNCAxCjIzIDEgMTggNAoxOSAyIDEwIDMKMTAgMTAKNCAzIDIgMTAwIDQgMSAyIDQgNSA1CjEgMjAwIDQgNSA2IDEgMTAgMiAzIDQK
5
2 1
1 7
3 5
3 2
1 5 3
6 2 4
5 4
1 16 10 10 16
3 2 2 15 15
4 1
23 1 18 4
19 2 10 3
10 10
4 3 2 100 4 1 2 4 5 5
1 200 4 5 6 1 10 2 3 4