For problem statement at 1000-1999/1500-1599/1550-1559/1552/problemE.txt this is a correct solution, but verifier at 1000-1999/1500-1599/1550-1559/1552/verifierE.go ends with All 9 tests passed can you fix the verifier? package main
import (
"bufio"
"fmt"
"os"
"sort"
)
func main() {
in := bufio.NewReaderSize(os.Stdin, 1<<20)
out := bufio.NewWriterSize(os.Stdout, 1<<20)
defer out.Flush()
var n, k int
fmt.Fscan(in, &n, &k)
pos := make([][]int, n+1)
for i := 1; i <= n*k; i++ {
var c int
fmt.Fscan(in, &c)
pos[c] = append(pos[c], i)
}
m := (n + (k - 2)) / (k - 1)
ansL := make([]int, n+1)
ansR := make([]int, n+1)
remaining := make([]int, n)
for i := 0; i < n; i++ {
remaining[i] = i + 1
}
for t := 1; t <= k-1 && len(remaining) > 0; t++ {
sort.Slice(remaining, func(i, j int) bool {
return pos[remaining[i]][t] < pos[remaining[j]][t]
})
cnt := m
if cnt > len(remaining) {
cnt = len(remaining)
}
for i := 0; i < cnt; i++ {
c := remaining[i]
ansL[c] = pos[c][t-1]
ansR[c] = pos[c][t]
}
remaining = remaining[cnt:]
}
for i := 1; i <= n; i++ {
fmt.Fprintln(out, ansL[i], ansR[i])
}
}