Loading Now

snailCrawling

Có một con sên mỗi ngày đi được 1 mét. Biết rằng cứ mỗi khi bò được n ngày thì có 1 ngày để con sên dừng lại nghỉ chân. Hỏi đến ngày thứ bao nhiêu thì con sên bò đến đích biết đích cách điểm xuất phát k mét. Nếu con sên không thể bò tới đích thì trả về -1.

Ví dụ:

  • Với n = 2, k = 3 thì snailCrawling(n, k) = 4 

     Giải thích: Sau 2 ngày thứ 1 và 2 thì con sên đi được 1 + 1 = 2 mét, đến ngày thứ 3 thì con sên nghỉ ngơi, sau đó đến ngày thứ 4 thì con sên đi tiếp 1 mét là đến đích. Tổng cộng là cần 4 ngày để tới đích.

  • Với n = 5, k = 24 thì snailCrawling(n, k) = 28 

Đầu vào/Đầu ra:

  • [Giới hạn thời gian chạy] 0.1 giây với C++, 0.6 giây với java và C#, 0.8 giây với Python, Go và JavaScript.
  • [Đầu vào] Integer n, k

        0 ≤ n, k ≤ 109

  • [Đầu ra] Integer
    Số ngày để con sên bò tới đích. Nếu con sên không thể tới đích thì trả về -1.

Post Comment

Contact