For problem statement at 1000-1999/1200-1299/1250-1259/1256/problemC.txt this is a correct solution, but verifier at 1000-1999/1200-1299/1250-1259/1256/verifierC.go ends with All tests passed can you fix the verifier? package main
import (
"bufio"
"fmt"
"os"
)
func main() {
in := bufio.NewReader(os.Stdin)
out := bufio.NewWriter(os.Stdout)
defer out.Flush()
var n, m, d int
if _, err := fmt.Fscan(in, &n, &m, &d); err != nil {
return
}
c := make([]int, m)
sum := 0
for i := 0; i < m; i++ {
fmt.Fscan(in, &c[i])
sum += c[i]
}
water := n - sum
if water > (m+1)*(d-1) {
fmt.Fprintln(out, "NO")
return
}
gaps := make([]int, m+1)
rem := water
for i := 0; i <= m; i++ {
g := d - 1
if rem < g {
g = rem
}
gaps[i] = g
rem -= g
}
ans := make([]int, n)
pos := gaps[0]
for i := 0; i < m; i++ {
for j := 0; j < c[i]; j++ {
ans[pos+j] = i + 1
}
pos += c[i]
if i+1 < m {
pos += gaps[i+1]
}
}
fmt.Fprintln(out, "YES")
for i := 0; i < n; i++ {
if i > 0 {
fmt.Fprint(out, " ")
}
fmt.Fprint(out, ans[i])
}
fmt.Fprintln(out)
}