Loading Now

countLevel

Hải đang chơi một trò chơi, có bốn điều quan trọng nhất ở trong game này đó là:

  • A: lượng sát thương của Hải.
  • B: lượng HP của quái vật.
  • X: chỉ số gia tăng sát thương của Hải.
  • Y: chỉ số gia tăng HP của quái vật.

Luật chơi là:

  • Nếu sát thương của Hải (A) nhỏ hơn HP của quái vật (B) thì Hải sẽ bị thua vòng chơi đó.
  • Nếu sát thương của Hải (A) lớn hơn hoặc bằng HP của quái vật (B) thì Hải sẽ chiến thắng vòng chơi đó và qua vòng tiếp theo.
  • Sau mỗi vòng thi thì sát thương của Hải và HP của quái vật sẽ thay đôi thành A*XB*Y.

Hải muốn biết Hải sẽ bị thua ở vòng chơi thứ mấy, trả về -1 nếu Hải không bao giờ thua.

Đầu vào là dãy a = [A,B,X,Y].

Ví dụ:

  • Với a = [20,9,2,3], thì countLevel(a) = 3.
    Giải thích:
    • Với vòng thứ 1:  A = 20, B = 9. Hải sẽ chiến thắng vòng này.
    • Với vòng thứ 2: A,B được gia tăng thành: A = 40, B = 27, Hải sẽ chiến thắng vòng này.
    • Với vòng thứ 3: A,B được gia tăng thành: A = 80, B = 81, Hải sẽ bị thua ở vòng này.
  • Với a = [10,10,3,2], thì countLevel(a) = -1.
    Giải thích: Hải sẽ không bao giờ thua vì có chơi bao nhiều vòng đi nữa thì A cũng lớn hơn hoặc bằng B.

Đầ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] Array: Integer n
    A = a[0]
    B = a[1]
    X = a[2]
    Y = a[3]
    1 ≤ X,Y ≤ 100.
    1 ≤ A<B ≤ 106.
      

  • [Đầu ra] Integer
    Số nguyên chỉ số vòng mà Hải sẽ bị thua, trả về -1 nếu Hải không bao giờ thua.

Post Comment

Contact