AT_abc273_b.[ABC273B] Broken Rounding

入门

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

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

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

输入格式

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

XX KK

输出格式

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

输入输出样例

  • 输入#1

    2048 2

    输出#1

    2100
  • 输入#2

    1 15

    输出#2

    0
  • 输入#3

    999 3

    输出#3

    1000
  • 输入#4

    314159265358979 12

    输出#4

    314000000000000

说明/提示

限制条件

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

样例解释 1

在操作过程中,XX 依次变为 2048→2050→21002048 \rightarrow 2050 \rightarrow 2100。

样例解释 4

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

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页