For problem statement at 1000-1999/1200-1299/1220-1229/1220/problemD.txt this is a correct solution, but verifier at 1000-1999/1200-1299/1220-1229/1220/verifierD.go ends with wrong answer on test 1: expected length 5 got 45
exit status 1 can you fix the verifier? package main
import (
"bytes"
"fmt"
"io"
"math/bits"
"os"
"strconv"
)
func main() {
data, _ := io.ReadAll(os.Stdin)
var n int
var offset int
for offset < len(data) && data[offset] <= ' ' {
offset++
}
for offset < len(data) && data[offset] > ' ' {
n = n*10 + int(data[offset]-'0')
offset++
}
groups := make([][]uint64, 64)
for i := 0; i < n; i++ {
var val uint64
for offset < len(data) && data[offset] <= ' ' {
offset++
}
if offset >= len(data) {
break
}
for offset < len(data) && data[offset] > ' ' {
val = val*10 + uint64(data[offset]-'0')
offset++
}
tz := bits.TrailingZeros64(val)
groups[tz] = append(groups[tz], val)
}
maxIdx := 0
for i := 1; i < 64; i++ {
if len(groups[i]) > len(groups[maxIdx]) {
maxIdx = i
}
}
var erased []uint64
for i := 0; i < 64; i++ {
if i != maxIdx {
erased = append(erased, groups[i]...)
}
}
fmt.Println(len(erased))
if len(erased) > 0 {
var buf bytes.Buffer
for i, v := range erased {
if i > 0 {
buf.WriteByte(' ')
}
buf.WriteString(strconv.FormatUint(v, 10))
}
buf.WriteByte('\n')
os.Stdout.Write(buf.Bytes())
}
}