← Home
For problem statement at 1000-1999/1000-1099/1060-1069/1060/problemB.txt this is a correct solution, but verifier at 1000-1999/1000-1099/1060-1069/1060/verifierB.go ends with All tests passed can you fix the verifier? package main

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

func main() {
	in := bufio.NewReader(os.Stdin)
	var s string
	fmt.Fscan(in, &s)

	m := len(s)
	digits := make([]int, m)
	for i := 0; i < m; i++ {
		digits[i] = int(s[m-1-i] - '0')
	}

	const neg = -1 << 30
	dp := make([][2]int, m+1)
	dp[m][0] = 0
	dp[m][1] = neg

	for i := m - 1; i >= 0; i-- {
		for carry := 0; carry <= 1; carry++ {
			best := neg
			for sum := 0; sum <= 18; sum++ {
				if (sum+carry)%10 == digits[i] {
					nextCarry := (sum + carry) / 10
					if dp[i+1][nextCarry] != neg {
						v := sum + dp[i+1][nextCarry]
						if v > best {
							best = v
						}
					}
				}
			}
			dp[i][carry] = best
		}
	}

	fmt.Println(dp[0][0])
}