
maxSizeOfNumbers
Với số nguyên k
cho trước, ta có dãy số nguyên luyên tiếp k+1, k+2, k+3, ...
Hãy tính độ dài lớn nhất của dãy trên, biết chi phí để thêm số n
tiếp theo vào dãy được tính theo công thức sau:
cost(n) = L(n) × u
( VớiL(x) = số chữ số của n
)
Biết rằng, ban đầu bạn có s
đồng.
Ví dụ:
- Với
s = 9, k = 1, u = 1
thì kết quảmax_size_of_numbers(s, k, u) = 8
Giải thích:- Các số được thêm là 2, 3, 4, 5, 6, 7, 8, 9
- Chi phí để thêm mỗi số đều là 1
- Ta không thể thêm số 10 vì sau khi thêm 8 số trên ta còn lại 1 đồng, mà để thêm số 10 cần 2 đồng
Đầu vào/Đầu ra:
-
[Thời gian chạy] 0.1s với C++, 0.6s với Java và C#, 0.8s với Python, Go và JavaScript.
- [Đầu vào] long s, k, u.
1 ≤ s, k ≤ 1018
1 ≤ u ≤ 109
- [Đầu ra] long.
Độ dài lớn nhất của dãy
Post Comment