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 翻译