← Home
For problem statement at 0-999/800-899/810-819/817/problemC.txt this is a correct solution, but verifier at 0-999/800-899/810-819/817/verifierC.go ends with All tests passed can you fix the verifier? package main

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

func sumDigits(x int64) int64 {
	var s int64
	for x > 0 {
		s += x % 10
		x /= 10
	}
	return s
}

func main() {
	in := bufio.NewReader(os.Stdin)
	out := bufio.NewWriter(os.Stdout)
	defer out.Flush()

	var n, s int64
	fmt.Fscan(in, &n, &s)

	l, r := int64(1), n+1
	for l < r {
		m := l + (r-l)/2
		if m-sumDigits(m) >= s {
			r = m
		} else {
			l = m + 1
		}
	}

	if l == n+1 {
		fmt.Fprintln(out, 0)
	} else {
		fmt.Fprintln(out, n-l+1)
	}
}