
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*X
vàB*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 vòng thứ
- 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