← Home
For problem statement at 1000-1999/1900-1999/1940-1949/1946/problemD.txt this is a correct solution, but verifier at 1000-1999/1900-1999/1940-1949/1946/verifierD.go ends with Wrong answer on test 83
Input:
1
5 6
7 1 3 4 1
Expected:3
Got:2

exit status 1 can you fix the verifier? ```go
package main

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

func main() {
	in := bufio.NewReader(os.Stdin)
	var t int
	fmt.Fscan(in, &t)
	for ; t > 0; t-- {
		var n int
		var x int64
		fmt.Fscan(in, &n, &x)
		a := make([]int64, n+1)
		for i := 1; i <= n; i++ {
			fmt.Fscan(in, &a[i])
		}
		pre := make([]int64, n+1)
		for i := 1; i <= n; i++ {
			pre[i] = pre[i-1] ^ a[i]
		}
		currS := 1
		var currC int64 = 0
		k := 0
		for currS <= n {
			found := false
			for end := currS; end <= n; end++ {
				newXor := pre[end] ^ pre[currS-1]
				newC := currC | newXor
				remXor := pre[n] ^ pre[end]
				if (newC | remXor) <= x {
					k++
					currC = newC
					currS = end + 1
					found = true
					break
				}
			}
			if !found {
				k = -1
				break
			}
		}
		fmt.Println(k)
	}
}
```