← Home
For problem statement at 1000-1999/1900-1999/1970-1979/1970/problemA1.txt this is a correct solution, but verifier at 1000-1999/1900-1999/1970-1979/1970/verifierA1.go ends with candidate failed on test 3: runtime error: exit status 2
stderr:
panic: runtime error: index out of range [-1]

goroutine 1 [running]:
main.main()
	/tmp/build-2575010467/solution.go:38 +0x3dc

Input:
)()(

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

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

func main() {
	reader := bufio.NewReader(os.Stdin)
	s, _ := reader.ReadString('\n')
	s = strings.TrimSpace(s)
	n := len(s)
	if n == 0 {
		return
	}

	balances := make([]int, n)
	curr := 0
	maxBal := 0

	for i := 0; i < n; i++ {
		balances[i] = curr
		if curr > maxBal {
			maxBal = curr
		}
		if s[i] == '(' {
			curr++
		} else {
			curr--
		}
	}

	buckets := make([][]byte, maxBal+1)
	for i := n - 1; i >= 0; i-- {
		b := balances[i]
		buckets[b] = append(buckets[b], s[i])
	}

	var sb strings.Builder
	sb.Grow(n)
	for _, bucket := range buckets {
		sb.Write(bucket)
	}

	fmt.Println(sb.String())
}
```