CF373B.Making Sequences is Fun

普及/提高-

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

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

题目描述

We'll define S(n) for positive integer n as follows: the number of the n's digits in the decimal base. For example, S(893) = 3, S(114514) = 6.

You want to make a consecutive integer sequence starting from number m (m, m + 1, ...). But you need to pay S(n)·k to add the number n to the sequence.

You can spend a cost up to w, and you want to make the sequence as long as possible. Write a program that tells sequence's maximum length.

我们定义正整数 nn 的函数 S(n)S(n) 如下:S(n)S(n) 表示 nn 在十进制下的位数。例如,S(893)=3S(893) = 3,S(114514)=6S(114514) = 6。

你希望构造一个从整数 mm 开始的连续整数序列(即 m, m+1, …m,\, m+1,\, \dots)。但将数字 nn 加入该序列需要支付代价 S(n)⋅kS(n) \cdot k。

你的总花费不能超过 ww,且你希望使该序列尽可能长。请编写一个程序,输出该序列的最大长度。

输入格式

The first line contains three integers w (1 ≤ w ≤ 1016), m (1 ≤ m ≤ 1016), k (1 ≤ k ≤ 109).

Please, do not write the %lld specifier to read or write 64-bit integers in C++. It is preferred to use the cin, cout streams or the %I64d specifier.

第一行包含三个整数 ww(1≤w≤10161 \le w \le 10^{16})、mm(1≤m≤10161 \le m \le 10^{16})、kk(1≤k≤1091 \le k \le 10^9)。

请注意,在 C++ 中读写 64 位整数时,不要使用 %lld 说明符。推荐使用 cin、cout 流或 %I64d 说明符。

输出格式

The first line should contain a single integer — the answer to the problem.

第一行应包含一个整数——该问题的答案。

输入输出样例

  • 输入#1

    9 1 1

    输出#1

    9
  • 输入#2

    77 7 7

    输出#2

    7
  • 输入#3

    114 5 14

    输出#3

    6
  • 输入#4

    1 1 2

    输出#4

    0

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

首页