← Home
For problem statement at 0-999/800-899/890-899/899/problemC.txt this is a correct solution, but verifier at 0-999/800-899/890-899/899/verifierC.go ends with wrong answer on test 1
input:
4
expected:0
2 1 4
 got:0
2 4 1
exit status 1 can you fix the verifier? package main

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

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

	var n int
	if _, err := fmt.Fscan(in, &n); err != nil {
		return
	}

	S := int64(n) * int64(n+1) / 2
	diff := S % 2
	target := (S + 1) / 2

	group := make([]int, 0)
	for i := n; i >= 1; i-- {
		if target >= int64(i) {
			group = append(group, i)
			target -= int64(i)
		}
		if target == 0 {
			break
		}
	}

	fmt.Fprintln(out, diff)
	fmt.Fprint(out, len(group))
	for _, v := range group {
		fmt.Fprint(out, " ", v)
	}
	fmt.Fprintln(out)
}