AT_ndpc2026_d 紙幣

题目描述

在 AtCoder 王国中,使用面额为 $1$ 日元,$10$ 日元,$100$ 日元,$\dots$,$10^{100}$ 日元的钞票。 Alice 想要向 Bob 支付 $N$ 日元。请找出可能的最小总钞票交换数,其定义为: - Alice 交给 Bob 的钞票数,加上 - Bob 找零返回给 Alice 的钞票数。 更具体地,对于任意整数 $M \geq N$,考虑: - 恰好凑出 $M$ 日元所需的最少钞票数,以及 - 恰好凑出 $M - N$ 日元所需的最少钞票数。 请找出上述两个数之和的最小值。 给定 $T$ 组测试数据。请对每组数据分别求解。

输入格式

输入从标准输入获得,格式如下: > $T$ $\mathrm{case}_1$ $\mathrm{case}_2$ $\vdots$ $\mathrm{case}_T$ 每组测试数据格式如下: > $N$

输出格式

输出共 $T$ 行。对于第 $i$ 组测试数据,在第 $i$ 行输出对应的答案。

说明/提示

### 样例解释 1 在第一组测试数据中: - Alice 使用一张 $10$ 日元的钞票支付 $10$ 日元,且 - Bob 用三张 $1$ 日元的钞票找零 $3$ 日元。 此时,总共交换的钞票数为 $4$,这是最优的。 ### 约束条件 - $1 \leq T \leq 10^4$ - $1 \leq N \leq 10^{18}$ - 所有输入值均为整数。 由 ChatGPT 5 翻译