For problem statement at 0-999/200-299/260-269/261/problemB.txt this is a correct solution, but verifier at 0-999/200-299/260-269/261/verifierB.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
}
a := make([]int, n)
for i := 0; i < n; i++ {
fmt.Fscan(in, &a[i])
}
var p int
fmt.Fscan(in, &p)
dp := make([][]int64, n+1)
for i := 0; i <= n; i++ {
dp[i] = make([]int64, p+1)
}
dp[0][0] = 1
for _, x := range a {
for k := n; k >= 1; k-- {
for s := p; s >= x; s-- {
dp[k][s] += dp[k-1][s-x]
}
}
}
comb := make([][]int64, n+1)
for i := 0; i <= n; i++ {
comb[i] = make([]int64, n+1)
comb[i][0] = 1
comb[i][i] = 1
for j := 1; j < i; j++ {
comb[i][j] = comb[i-1][j-1] + comb[i-1][j]
}
}
var expected float64
for t := 1; t <= n; t++ {
var cnt int64
for s := 0; s <= p; s++ {
cnt += dp[t][s]
}
if comb[n][t] > 0 {
expected += float64(cnt) / float64(comb[n][t])
}
}
fmt.Printf("%.10f\n", expected)
}