← Home
For problem statement at 1000-1999/1300-1399/1300-1309/1305/problemB.txt this is a correct solution, but verifier at 1000-1999/1300-1399/1300-1309/1305/verifierB.go ends with All tests passed can you fix the verifier? package main

import (
	"bufio"
	"fmt"
	"io"
	"os"
	"strings"
)

func main() {
	in := bufio.NewReader(os.Stdin)
	data, _ := io.ReadAll(in)
	s := strings.TrimSpace(string(data))
	n := len(s)
	l, r := 0, n-1
	left := []int{}
	right := []int{}
	for l < r {
		for l < n && s[l] != '(' {
			l++
		}
		for r >= 0 && s[r] != ')' {
			r--
		}
		if l < r && l < n && r >= 0 {
			left = append(left, l+1)
			right = append(right, r+1)
			l++
			r--
		}
	}
	out := bufio.NewWriter(os.Stdout)
	if len(left) == 0 {
		fmt.Fprintln(out, 0)
		out.Flush()
		return
	}
	for i, j := 0, len(right)-1; i < j; i, j = i+1, j-1 {
		right[i], right[j] = right[j], right[i]
	}
	res := append([]int{}, left...)
	res = append(res, right...)
	fmt.Fprintln(out, 1)
	fmt.Fprintln(out, len(res))
	for i, v := range res {
		if i > 0 {
			fmt.Fprint(out, " ")
		}
		fmt.Fprint(out, v)
	}
	fmt.Fprintln(out)
	out.Flush()
}