← Home
```go
package main

import (
	"bufio"
	"fmt"
	"os"
	"sort"
)

func main() {
	in := bufio.NewReaderSize(os.Stdin, 1<<20)
	out := bufio.NewWriterSize(os.Stdout, 1<<20)
	defer out.Flush()

	var t int
	fmt.Fscan(in, &t)
	for ; t > 0; t-- {
		var n, k int
		fmt.Fscan(in, &n, &k)

		l := make([]int64, n)
		r := make([]int64, n)
		for i := 0; i < n; i++ {
			fmt.Fscan(in, &l[i])
		}
		for i := 0; i < n; i++ {
			fmt.Fscan(in, &r[i])
		}

		var base int64
		extra := make([]int64, n)
		for i := 0; i < n; i++ {
			if l[i] > r[i] {
				base += l[i]
				extra[i] = r[i]
			} else {
				base += r[i]
				extra[i] = l[i]
			}
		}

		sort.Slice(extra, func(i, j int) bool {
			return extra[i] > extra[j]
		})

		var add int64
		for i := 0; i < k-1; i++ {
			add += extra[i]
		}

		fmt.Fprintln(out, base+add+1)
	}
}
```