DHBB 2023 - CNTT - 10 - Xếp nhóm
Xem dạng PDFTrong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài
Trại hè Tin học miền Bắc có ~n~ đoàn tham gia. Các đoàn được đánh số từ ~1~ đến ~n~, đoàn thứ ~i~ có ~a_i~ học sinh.
Ban tổ chức muốn chia học sinh thành các nhóm thỏa mãn:
Mỗi nhóm có đúng ~k~ học sinh;
Không có hai học sinh trong cùng một nhóm thuộc cùng một đoàn;
Một số học sinh có thể không được xếp vào nhóm nào.
Ban đầu, chỉ có ~m~ đoàn mang số hiệu ~1,2,\ldots,m~ tham gia, với ~m<n~. Sau đó, các đoàn ~m+1,m+2,\ldots,n~ lần lượt đăng ký. Mỗi khi một đoàn mới đăng ký, ban tổ chức sắp xếp lại toàn bộ học sinh của các đoàn đã đăng ký để tạo được nhiều nhóm nhất.</p>
Yêu cầu: Hãy tính số nhóm lớn nhất có thể tạo được sau mỗi lần một đoàn mới đăng ký.
Input
Dòng đầu tiên chứa số nguyên dương ~T~ ~(T \le 100)~, là số bộ dữ liệu.
Mỗi bộ dữ liệu có dạng:
Dòng đầu tiên gồm ba số nguyên dương ~n,k,m~ ~(k,m<n \le 10^5)~;</p>
Dòng thứ hai chứa ~n~ số nguyên dương ~a_1,a_2,\ldots,a_n~ ~(1 \le a_i \le 10^9)~.
Output
Với mỗi bộ dữ liệu, in ra một dòng gồm ~n-m~ số nguyên. Số thứ ~j~ là số nhóm lớn nhất có thể tạo được sau khi đoàn ~m+j~ đăng ký tham gia, với ~1 \le j \le n-m~.
Scoring
| Subtask | Điểm | Ràng buộc |
|---|---|---|
| 1 | ~30\%~ | ~T=1;\ k,m<n \le 10^3~</td> |
| 2 | ~30\%~ | ~T \le 10;\ k,m<n \le 10^3~</td> |
| 3 | ~40\%~ | ~T \le 100;\ k,m<n \le 10^5~</td> |
Sample Input 1
1
5 3 3
3 5 3 2 4
Sample Output 1
4 5
Bình luận