Loading Now

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ới L(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.
    ≤ s, k ≤ 1018
    ≤ u ≤ 109
  • [Đầu ra] long.
    Độ dài lớn nhất của dãy

Post Comment

Contact