← Home
For problem statement at 0-999/900-999/950-959/958/problemB2.txt this is a correct solution, but verifier at 0-999/900-999/950-959/958/verifierB2.go ends with reference runtime error on test 1: exec: "ref958B2.bin": executable file not found in $PATH
Input used:
3
1 2
1 3


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

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

const maxN = 200005

var (
	n    int
	g    [][]int
	dep  []int
	sz   []int
	val  []int
	vis  []bool
)

func dfs(u, p int) {
	sz[u] = 1
	for _, v := range g[u] {
		if v == p {
			continue
		}
		dep[v] = dep[u] + 1
		dfs(v, u)
		sz[u] += sz[v]
	}
	val[u] = dep[u] - (sz[u] - 1)
}

func main() {
	in := bufio.NewReader(os.Stdin)
	fmt.Fscan(in, &n)
	g = make([][]int, n+1)
	for i := 0; i < n-1; i++ {
		var u, v int
		fmt.Fscan(in, &u, &v)
		g[u] = append(g[u], v)
		g[v] = append(g[v], u)
	}

	dep = make([]int, n+1)
	sz = make([]int, n+1)
	val = make([]int, n+1)

	dfs(1, 0)

	arr := make([]int, 0, n)
	for i := 1; i <= n; i++ {
		arr = append(arr, val[i])
	}
	sort.Slice(arr, func(i, j int) bool { return arr[i] > arr[j] })

	pref := make([]int64, n+1)
	for i := 1; i <= n; i++ {
		pref[i] = pref[i-1] + int64(arr[i-1])
	}

	out := bufio.NewWriter(os.Stdout)
	for k := 1; k <= n; k++ {
		ans := pref[k]
		fmt.Fprint(out, ans)
		if k < n {
			fmt.Fprint(out, " ")
		}
	}
	fmt.Fprintln(out)
	out.Flush()
}
```