Number of Round

Xem dạng PDF

Gửi bài giải

Điểm: 5,00
Giới hạn thời gian: 2.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C++

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.

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.