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.