CF219B Special Offer! Super Price 999 Bourles!
题目描述
Polycarpus 是一位业余商人。最近他惊讶地发现,剪刀市场完全是自由竞争的!毫不犹豫,Polycarpus 决定开始生产并销售这种剪刀。
Polycaprus 计算出,这种剪刀的最优定价应为 $p$ 布尔币。然而,他在某处读到,客户容易被类似“限时特惠!超级价格 999 布尔币!”这样的价格吸引。所以 Polycarpus 决定,如果能达到这种效果,就把价格稍微下调一些。
Polycarpus 同意最多降价 $d$ 布尔币,为的是使最终的价格末尾出现最多的 $9$。如果有多种方案,他会选择价格尽可能高的方案。
注意,Polycarpus 只统计价格末尾的连续 $9$ 的数量。
输入格式
第一行包含两个整数 $p$ 和 $d$($1 \leq p \leq 10^{18}$,$0 \leq d < p$)——剪刀的初始价格和最大允许的降价额。
请不要在 C++ 中使用 %lld 格式读取或输出 64 位整数。建议使用 cin、cout 或 %I64d。
输出格式
输出所需的价格——那是一个以最多连续 $9$ 结尾、且比 $p$ 少不超过 $d$、并且最大的价格。
所输出的数字不应有前导零。
说明/提示
由 ChatGPT 5 翻译