NOR - Number of Round
Dữ liệu vào: standard input
Dữ liệu ra: standard output
Giới hạn thời gian: 1.0 giây
Giới hạn bộ nhớ: 128 megabyte

Một ngày, n người bạn tụ tập với nhau chơi ma sói, để tránh việc cãi nhau, tại mỗi lượt chơi, 1 bạn sẽ phải ra làm trọng tài để cho n - 1 bạn còn lại chơi với nhau. Bạn thứ i muốn chơi ai lượt mà không phải làm trọng tài. Một bạn sẽ buồn nếu được chơi ít hơn số lượt mà mình muốn. Tuy nhiên, mỗi người có thể chơi nhiều hơn số lần họ muốn. Cần chơi tối thiểu bao nhiêu lượt để không ai bị buồn?

Ví dụ:

  • Với a = [3,2,2]. Output sẽ là: numberOfRounds(a) = 4.
    Bạn 1 muốn chơi 3 lượt, bạn 2 muốn chơi 2 lượt, bạn thứ 3 muốn chơi 2 lượt.
    Với số lượt chơi là 4 thì ta có thể chia lượt chơi như sau:
    Lượt 1: Bạn 1 chơi, bạn 2 chơi, bạn 3 làm trọng tài
    Lượt 2: Bạn 1 chơi, bạn 2 chơi, bạn 3 làm trọng tài
    Lượt 3: Bạn 1 chơi, bạn 2 làm trọng tài, bạn 3 chơi
    Lượt 4: Bạn 1 chơi, bạn 2 làm trọng tài, bạn 3 chơi.

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

  • [Đầu vào] array.int a
    Số vòng mà bạn thứ i muốn chơi (tính từ 1)
    3 ≤ a.size() ≤ 105
    1 ≤ ai ≤ 109
  • [Đầu ra] int 
    Số vòng tối thiểu phải chơi để tất cả các bạn không ai phải buồn.

Ví dụ

  • input
    3
    3 2 2
    output
    4
Back to Top