CF1060B Maximum Sum of Digits

题目描述

给定一个正整数 $n$。 设 $S(x)$ 表示 $x$ 的十进制表示下各位数字之和,例如 $S(123) = 1 + 2 + 3 = 6$,$S(0) = 0$。 你的任务是找到两个整数 $a, b$,使得 $0 \leq a, b \leq n$,$a + b = n$,并且 $S(a) + S(b)$ 在所有满足条件的 $a, b$ 中最大。

输入格式

输入仅一行,包含一个整数 $n$,$1 \leq n \leq 10^{12}$。

输出格式

输出所有满足 $0 \leq a, b \leq n$ 且 $a + b = n$ 的整数对中,最大的 $S(a) + S(b)$。

说明/提示

在第一个样例中,你可以选择 $a = 17$,$b = 18$,此时 $S(17) + S(18) = 1 + 7 + 1 + 8 = 17$。可以证明无法得到更大的答案。 在第二个样例中,你可以选择 $a = 5000000001$,$b = 4999999999$,此时 $S(5000000001) + S(4999999999) = 91$。可以证明无法得到更大的答案。 由 ChatGPT 4.1 翻译