Loading Now

fightWithDragons2

Bạn đang chiến đấu với con rồng huyền thoại để bảo vệ thế giới. Con rồng có rất nhiều đầu và muốn tiêu diệt con rồng bạn phải chém hết tất cả các đầu của nó. Lúc đầu Con rồng có x đầu và bạn có n loại đòn đánh. Nếu bạn sử dụng đòn đánh thứ i, con rồng sẽ mất di cái đầu, nhưng sau đó nếu con rồng chưa bị tiêu diệt nó lại mọc thêm hi cái đầu khác.Bạn có thể sử dụng mỗi đòn đánh bất kỳ số lần, theo bất kỳ thứ tự nào.

Tính số lượt đánh tối thiểu để tiêu diệt con rồng. Nếu không thể tiêu diệt con rồng hãy trả về -1.

Ví dụ:

  • Với x = 10, d =[6, 8, 1]h = [3, 2, 4] thì fightWithDragons(x, d, h) = 2
    Bạn có thể dùng đòn đánh đầu tiên để chặt 3 đầu của con rồng, sau đó dùng đòn đánh thứ 2.
  • Với x = 15, d =[10 ,11 ],h = [14, 100] thì fightWithDragons(x,d,h) = -1
    Bạn không thể đánh bại con rồng.

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

  • [Thời gian chạy] 0.5 giây với C++, 3 giây với Java và C#, 4 giây với Python, Go và JavaScript
  • [Đầu vào] long x
    1 <= x <= 10^9
  • [Đầu vào] array.long d
    1<= d.size() <=100
    1<= di <= 10^9
  • [Đầu vào] array.long h
    1<= h.size() <=100
    1<= hi <= 10^9
  • [Đầu ra] interger
    Số lượt đánh tối thiểu để tiêu diệt con rồng. Nếu không thể tiêu diệt con rồng hãy trả về -1 .

Post Comment

Contact