For problem statement at 0-999/200-299/240-249/246/problemC.txt this is a correct solution, but verifier at 0-999/200-299/240-249/246/verifierC.go ends with case 1 failed: expected:
1 23
1 33
1 43
2 43 23
2 43 33
3 33 43 23
got:
1 33
1 23
2 33 23
2 33 43
2 23 43
3 33 23 43
exit status 1 can you fix the verifier? ```go
package main
import (
"fmt"
)
func main() {
var n, k int
if _, err := fmt.Scan(&n, &k); err != nil {
return
}
a := make([]int, n)
for i := 0; i < n; i++ {
fmt.Scan(&a[i])
}
sums := make(map[int][]int)
sums[0] = []int{}
count := 0
var ans [][]int
for i := 0; i < n; i++ {
x := a[i]
newSums := make(map[int][]int)
for sum, subset := range sums {
newSum := sum + x
if _, exists := sums[newSum]; !exists {
if _, exists2 := newSums[newSum]; !exists2 {
newSubset := make([]int, len(subset), len(subset)+1)
copy(newSubset, subset)
newSubset = append(newSubset, x)
newSums[newSum] = newSubset
ans = append(ans, newSubset)
count++
if count == k {
break
}
}
}
}
for sum, subset := range newSums {
sums[sum] = subset
}
if count == k {
break
}
}
for _, subset := range ans {
fmt.Print(len(subset))
for _, val := range subset {
fmt.Printf(" %d", val)
}
fmt.Println()
}
}
```