CF1060B.Maximum Sum of Digits

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

Maximum Sum of Digits

题目描述

给定一个正整数 nn

S(x)S(x) 表示 xx 的十进制表示下各位数字之和,例如 S(123)=1+2+3=6S(123) = 1 + 2 + 3 = 6S(0)=0S(0) = 0

你的任务是找到两个整数 a,ba, b,使得 0a,bn0 \leq a, b \leq na+b=na + b = n,并且 S(a)+S(b)S(a) + S(b) 在所有满足条件的 a,ba, b 中最大。

输入格式

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

输出格式

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

说明/提示

在第一个样例中,你可以选择 a=17a = 17b=18b = 18,此时 S(17)+S(18)=1+7+1+8=17S(17) + S(18) = 1 + 7 + 1 + 8 = 17。可以证明无法得到更大的答案。

在第二个样例中,你可以选择 a=5000000001a = 5000000001b=4999999999b = 4999999999,此时 S(5000000001)+S(4999999999)=91S(5000000001) + S(4999999999) = 91。可以证明无法得到更大的答案。

由 ChatGPT 4.1 翻译

样例

35
17
10000000000
91

在线编程 IDE

建议全屏模式获得最佳体验