← Home
For problem statement at 0-999/800-899/840-849/845/problemB.txt this is a correct solution, but verifier at 0-999/800-899/840-849/845/verifierB.go ends with All tests passed can you fix the verifier? package main

import (
	"bufio"
	"fmt"
	"os"
	"sort"
)

func main() {
	in := bufio.NewReader(os.Stdin)
	var s string
	fmt.Fscan(in, &s)
	sum1, sum2 := 0, 0
	for i := 0; i < 3; i++ {
		sum1 += int(s[i] - '0')
	}
	for i := 3; i < 6; i++ {
		sum2 += int(s[i] - '0')
	}
	diff := sum1 - sum2
	if diff < 0 {
		diff = -diff
	}
	if diff == 0 {
		fmt.Println(0)
		return
	}
	caps := make([]int, 0, 6)
	if sum1 < sum2 {
		for i := 0; i < 3; i++ {
			d := int(s[i] - '0')
			caps = append(caps, 9-d)
		}
		for i := 3; i < 6; i++ {
			d := int(s[i] - '0')
			caps = append(caps, d)
		}
	} else {
		for i := 0; i < 3; i++ {
			d := int(s[i] - '0')
			caps = append(caps, d)
		}
		for i := 3; i < 6; i++ {
			d := int(s[i] - '0')
			caps = append(caps, 9-d)
		}
	}
	sort.Sort(sort.Reverse(sort.IntSlice(caps)))
	rem := diff
	cnt := 0
	for _, c := range caps {
		rem -= c
		cnt++
		if rem <= 0 {
			break
		}
	}
	fmt.Println(cnt)
}