← Home
For problem statement at 1000-1999/1700-1799/1760-1769/1764/problemG2.txt this is a correct solution, but verifier at 1000-1999/1700-1799/1760-1769/1764/verifierG2.go ends with wrong answer on test 1: expected 1 got 0

exit status 1 can you fix the verifier? package main

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

func main() {
	reader := bufio.NewReader(os.Stdin)
	var n int
	fmt.Fscan(reader, &n)

	ask := func(l, r, k int) int {
		if l > r {
			return 0
		}
		fmt.Printf("? %d %d %d\n", l, r, k)
		var res int
		fmt.Fscan(reader, &res)
		return res
	}

	l, r := 1, n
	for l < r {
		mid := (l + r) / 2
		q1 := ask(1, mid, 2)
		q2 := ask(mid+1, n, 2)
		split := q1 + q2 - (n/2 + 1)
		if (mid-split)%2 != 0 {
			r = mid
		} else {
			l = mid + 1
		}
	}

	fmt.Printf("! %d\n", l)
}