For problem statement at 1000-1999/1100-1199/1180-1189/1187/problemE.txt this is a correct solution, but verifier at 1000-1999/1100-1199/1180-1189/1187/verifierE.go ends with All tests passed can you fix the verifier? package main
import (
"bufio"
"fmt"
"os"
)
func main() {
in := bufio.NewReader(os.Stdin)
var n int
if _, err := fmt.Fscan(in, &n); err != nil {
return
}
adj := make([][]int, n+1)
for i := 0; i < n-1; i++ {
var u, v int
fmt.Fscan(in, &u, &v)
adj[u] = append(adj[u], v)
adj[v] = append(adj[v], u)
}
size := make([]int64, n+1)
var dfs1 func(int, int)
dfs1 = func(u, p int) {
size[u] = 1
for _, v := range adj[u] {
if v != p {
dfs1(v, u)
size[u] += size[v]
}
}
}
dfs1(1, 0)
var initial int64
for i := 1; i <= n; i++ {
initial += size[i]
}
ans := initial
var dfs2 func(int, int, int64)
dfs2 = func(u, p int, cur int64) {
if cur > ans {
ans = cur
}
for _, v := range adj[u] {
if v != p {
dfs2(v, u, cur+int64(n)-2*size[v])
}
}
}
dfs2(1, 0, initial)
fmt.Println(ans)
}