#aBC273B. [ABC273B] Broken Rounding

[ABC273B] Broken Rounding

AT_abc273_b [ABC273B] Broken Rounding

题目描述

对于一个非负整数 XX,依次对 i=0,1,,K1i=0,1,\dots,K-1 进行如下操作,请求出所有操作结束后 XX 的值。

  • XX10i10^i 位及以下进行四舍五入。
    • 更严格地说,将 XX 替换为“在所有 10i+110^{i+1} 的倍数中与 XX 差的绝对值 YX|Y-X| 最小且最大的 YY”。
    • 具体例子如下:
      • 27327310110^1 位及以下四舍五入后得到 300300
      • 99999910210^2 位及以下四舍五入后得到 10001000
      • 10010010910^9 位及以下四舍五入后得到 00
      • 1015101510010^0 位及以下四舍五入后得到 10201020

输入格式

输入以如下格式从标准输入读入。

XX KK

输出格式

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

输入输出样例 #1

输入 #1

2048 2

输出 #1

2100

输入输出样例 #2

输入 #2

1 15

输出 #2

0

输入输出样例 #3

输入 #3

999 3

输出 #3

1000

输入输出样例 #4

输入 #4

314159265358979 12

输出 #4

314000000000000

说明/提示

限制条件

  • X,KX,K 均为整数。
  • 0X<10150 \le X < 10^{15}
  • 1K151 \le K \le 15

样例解释 1

在操作过程中,XX 依次变为 2048205021002048 \rightarrow 2050 \rightarrow 2100

样例解释 4

XX 可能无法用 3232 位整数类型存储。

由 ChatGPT 4.1 翻译