← Home
For problem statement at 1000-1999/1300-1399/1370-1379/1375/problemF.txt this is a correct solution, but verifier at 1000-1999/1300-1399/1370-1379/1375/verifierF.go ends with expected "Problem F is interactive and cannot be automatically solved." got ""

exit status 1 can you fix the verifier? package main

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

func main() {
	in := bufio.NewReader(os.Stdin)
	out := bufio.NewWriter(os.Stdout)
	defer out.Flush()

	var a [3]int64
	if _, err := fmt.Fscan(in, &a[0], &a[1], &a[2]); err != nil {
		return
	}

	fmt.Fprintln(out, "First")
	out.Flush()

	y1 := max3(a[0], a[1], a[2]) - min3(a[0], a[1], a[2]) + 1
	fmt.Fprintln(out, y1)
	out.Flush()

	var p1 int
	if _, err := fmt.Fscan(in, &p1); err != nil || p1 <= 0 {
		return
	}
	p1--
	a[p1] += y1

	var vals []int64
	for i := 0; i < 3; i++ {
		if i != p1 {
			vals = append(vals, a[i])
		}
	}
	if vals[0] > vals[1] {
		vals[0], vals[1] = vals[1], vals[0]
	}
	u, v, w := vals[0], vals[1], a[p1]
	y2 := 2*w - u - v

	fmt.Fprintln(out, y2)
	out.Flush()

	var p2 int
	if _, err := fmt.Fscan(in, &p2); err != nil || p2 <= 0 {
		return
	}
	p2--
	a[p2] += y2

	b := []int64{a[0], a[1], a[2]}
	sort.Slice(b, func(i, j int) bool { return b[i] < b[j] })
	y3 := b[1] - b[0]

	fmt.Fprintln(out, y3)
	out.Flush()
}

func min3(a, b, c int64) int64 {
	if a > b {
		a, b = b, a
	}
	if a > c {
		return c
	}
	return a
}

func max3(a, b, c int64) int64 {
	if a < b {
		a, b = b, a
	}
	if a < c {
		return c
	}
	return a
}