AT_abc273_b [ABC273B] Broken Rounding

题目描述

对于一个非负整数 $X$,依次对 $i=0,1,\dots,K-1$ 进行如下操作,请求出所有操作结束后 $X$ 的值。 - 将 $X$ 的 $10^i$ 位及以下进行四舍五入。 - 更严格地说,将 $X$ 替换为“在所有 $10^{i+1}$ 的倍数中与 $X$ 差的绝对值 $|Y-X|$ 最小且最大的 $Y$”。 - 具体例子如下: - 将 $273$ 的 $10^1$ 位及以下四舍五入后得到 $300$。 - 将 $999$ 的 $10^2$ 位及以下四舍五入后得到 $1000$。 - 将 $100$ 的 $10^9$ 位及以下四舍五入后得到 $0$。 - 将 $1015$ 的 $10^0$ 位及以下四舍五入后得到 $1020$。

输入格式

输入以如下格式从标准输入读入。 > $X$ $K$

输出格式

请输出最终的 $X$,作为一个整数。

说明/提示

### 限制条件 - $X,K$ 均为整数。 - $0 \le X < 10^{15}$。 - $1 \le K \le 15$。 ### 样例解释 1 在操作过程中,$X$ 依次变为 $2048 \rightarrow 2050 \rightarrow 2100$。 ### 样例解释 4 $X$ 可能无法用 $32$ 位整数类型存储。 由 ChatGPT 4.1 翻译