Polycarp luyện tập
Đề bài
Mô tả
Polycarp muốn luyện tập trước một kỳ thi lập trình. Trong ngày huấn luyện thứ nhất anh phải giải đúng bài, ngày thứ hai đúng bài, ngày thứ ba đúng bài, và cứ như vậy: trong ngày thứ anh phải giải đúng bài.
Polycarp có một danh sách bộ đề, bộ đề thứ gồm bài. Mỗi ngày anh chọn đúng một bộ đề chưa dùng và giải nó. Anh giải đúng bài từ bộ đề đó (những bài còn lại của bộ đề bị bỏ đi). Nếu tại ngày thứ không còn bộ đề nào chưa dùng có ít nhất bài, Polycarp dừng luyện tập.
Hỏi Polycarp có thể luyện tập được nhiều nhất bao nhiêu ngày nếu chọn các bộ đề một cách tối ưu?
Dữ liệu vào
- Dòng đầu chứa số nguyên là số bộ đề.
- Dòng thứ hai chứa số nguyên là số bài của từng bộ đề.
Dữ liệu ra
In ra một số nguyên: số ngày nhiều nhất Polycarp có thể luyện tập.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 3 1 4 1 |
3 | Ngày 1 dùng bộ có bài, ngày 2 dùng bộ có bài, ngày 3 dùng bộ có bài. Không còn bộ nào bài nên dừng sau ngày. |
| 3 1 1 1 |
1 | Chỉ có thể luyện ngày đầu (giải bài); không bộ nào có bài. |
| 5 1 1 1 2 2 |
2 | Ngày 1 dùng bộ bài, ngày 2 dùng bộ bài; không bộ nào còn lại có bài. |
Bình luận