Loading Now

mafia

Một ngày n bạn bè tụ tập cùng nhau để chơi “Mafia”. Trong mỗi vòng của trò chơi, 1 người chơi phải là người giám sát và n - 1 người khác tham gia vào trò chơi. Cho trước mảng arr trong đó arri là số vòng mà người thứ i muốn trở thành người chơi mà không phải là người giám sát. Hãy tìm số vòng tối thiểu của trò chơi "Mafia" mà họ cần chơi là bao nhiêu để cho mỗi người chơi ít nhất số vòng như họ muốn?

Ví Dụ :

  •  Với a = [3,2,2], thì  Mafia(arr) = 4

Vòng thứ 1: Người đầu tiên là người giám sát

Vòng thứ 2: Người thứ 2 làm giám sát.

Vòng thứ 3: Người thứ 3 làm giám sát. 

Vòng thứ 4: người thứ 2 làm giám sát. 

==> Cần ít nhất 4 vòng chơi thì tất cả mọi nguời đều chơi ít nhất nhiều vòng như họ muốn. ( Có thế có nhiều cách chơi khác khau )

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

  • [Thời gian] 0.5s với C++, 3s với Java và C#, 4s với Python, Go và JavaScript.
  • [Đầu vào]  Arrays.Integer arr
    3 ≤ a.size() ≤ 1000
    1 <= ai <= 109
  • [Đầu ra] long  
    Số vòng chơi tối thiểu mà bạn bè cần để cho tất cả mọi nguời chơi có thể chơi số vòng họ muốn.

Post Comment

Contact