AT_arc222_d [ARC222D] Shift and Add
题目描述
定义一个非负整数 $n$ 的**数位和**为将 $n$ 用十进制表示后各位数字之和。例如,$2026$ 的数位和为 $2+0+2+6=10$。
给定正整数序列 $A=(A_1,A_2,\ldots,A_N)$ 和 $B=(B_1,B_2,\ldots,B_N)$。
利用 $A$ 和 $B$,定义整数序列 $X=(X_0,X_1,X_2,\ldots,X_N)$ 规则如下:
- 设 $X_0 = 0$。
- 对于每个 $i=1,2,\ldots,N$,可以选择 $X_i=10X_{i-1}+A_i$ 或 $X_i=10X_{i-1}+B_i$ 之一来确定 $X_i$。
对于每个 $k=1,2,\ldots,N$,求 $X_k$ 能够取得的最小数位和。
每个 $k$ 都独立计算,也就是说对于不同的 $k$,可以选择不同方式确定序列 $X$ 以使 $X_k$ 的数位和最小。
输入格式
输入格式如下:
> $N$ $A_1$ $A_2$ $\ldots$ $A_N$ $B_1$ $B_2$ $\ldots$ $B_N$
输出格式
对每个 $k=1,2,\ldots,N$,输出 $X_k$ 能取得的最小数位和,数之间以空格分隔。
说明/提示
### 样例解释 1
可行的整数序列 $X=(X_0,X_1,X_2)$ 有如下四种:
- $X = (0, 123, 1674)$
- $X = (0, 123, 1452)$
- $X = (0, 456, 5004)$
- $X = (0, 456, 4782)$
$X_1$ 能取得的最小数位和是 $6$,等于 $123$ 的数位和。
$X_2$ 能取得的最小数位和是 $9$,等于 $5004$ 的数位和。
### 约束条件
- $1\leq N\leq 20000$
- $1\leq A_i\leq 10^9-1$
- $1\leq B_i\leq 10^9-1$
- 所有输入值均为整数。
由 ChatGPT 5 翻译