← Home
For problem statement at 0-999/800-899/840-849/847/problemC.txt this is a correct solution, but verifier at 0-999/800-899/840-849/847/verifierC.go ends with wrong answer on test 4
expected:
()((()))

actual:
((()))() can you fix the verifier? ```go
package main

import (
	"fmt"
	"strings"
)

func main() {
	var n int
	var k int64
	fmt.Scan(&n, &k)

	maxK := int64(n) * int64(n-1) / 2
	if k > maxK {
		fmt.Println("Impossible")
		return
	}

	d := make([]int, n)
	d[0] = 0
	sum := int64(0)
	for i := 1; i < n; i++ {
		rem := k - sum
		val := d[i-1] + 1
		if int64(val) > rem {
			val = int(rem)
		}
		d[i] = val
		sum += int64(val)
	}

	var sb strings.Builder
	sb.Grow(2 * n)
	curDepth := 0
	for i := 0; i < n; i++ {
		need := d[i]
		for curDepth > need {
			sb.WriteByte(')')
			curDepth--
		}
		sb.WriteByte('(')
		curDepth++
	}
	for curDepth > 0 {
		sb.WriteByte(')')
		curDepth--
	}
	fmt.Println(sb.String())
}
```