For problem statement at 0-999/100-199/120-129/124/problemB.txt this is a correct solution, but verifier at 0-999/100-199/120-129/124/verifierB.go ends with All 100 tests passed! can you fix the verifier? package main
import (
"bufio"
"fmt"
"os"
)
func nextPermutation(a []int) bool {
i := len(a) - 2
for i >= 0 && a[i] >= a[i+1] {
i--
}
if i < 0 {
return false
}
j := len(a) - 1
for a[j] <= a[i] {
j--
}
a[i], a[j] = a[j], a[i]
for l, r := i+1, len(a)-1; l < r; l, r = l+1, r-1 {
a[l], a[r] = a[r], a[l]
}
return true
}
func main() {
in := bufio.NewReader(os.Stdin)
var n, k int
fmt.Fscan(in, &n, &k)
s := make([]string, n)
for i := 0; i < n; i++ {
fmt.Fscan(in, &s[i])
}
p := make([]int, k)
for i := 0; i < k; i++ {
p[i] = i
}
ans := int(1<<31 - 1)
for {
mn := int(1<<31 - 1)
mx := -1
for i := 0; i < n; i++ {
v := 0
for _, idx := range p {
v = v*10 + int(s[i][idx]-'0')
}
if v < mn {
mn = v
}
if v > mx {
mx = v
}
}
if mx-mn < ans {
ans = mx - mn
}
if !nextPermutation(p) {
break
}
}
fmt.Println(ans)
}