← Home
For problem statement at 1000-1999/1900-1999/1920-1929/1920/problemB.txt this is a correct solution, but verifier at 1000-1999/1900-1999/1920-1929/1920/verifierB.go ends with All tests passed can you fix the verifier? ```go
package main

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

func main() {
	in := bufio.NewReader(os.Stdin)
	var t int
	fmt.Fscan(in, &t)
	for ; t > 0; t-- {
		var n, k, x int
		fmt.Fscan(in, &n, &k, &x)
		a := make([]int, n)
		for i := 0; i < n; i++ {
			fmt.Fscan(in, &a[i])
		}
		sort.Ints(a)
		pre := make([]int64, n+1)
		for i := 1; i <= n; i++ {
			pre[i] = pre[i-1] + int64(a[i-1])
		}
		ans := int64(-1 << 60)
		lowM := max(0, n-k)
		if lowM <= x {
			sum := int64(0)
			if lowM > 0 {
				sum = pre[lowM]
			}
			ans = -sum
		}
		minR := max(n-k, x+1)
		for r := minR; r <= n; r++ {
			s := r - x
			if s < 1 {
				continue
			}
			val := 2*pre[s] - pre[r]
			if val > ans {
				ans = val
			}
		}
		fmt.Println(ans)
	}
}

func max(a, b int) int {
	if a > b {
		return a
	}
	return b
}
```