trang chủ / đề bài / dhbb23_cntt_10_b

Xếp nhóm

Đề bài

Mô tả

Trại hè Tin học miền Bắc có n đoàn tham gia. Các đoàn được đánh số hiệu từ 1 đến n, đoàn thứ i có ai học sinh. Trong buổi sinh hoạt tập thể, ban tổ chức muốn tổ chức cho học sinh chơi trò chơi theo nhóm, mỗi nhóm có đúng k học sinh và không nhóm nào có hai học sinh cùng đoàn (có thể có học sinh không được xếp vào bất cứ nhóm nào).

Ban đầu, chỉ có m đoàn có số hiệu 1,2,…,m (m<n) tham gia. Sau đó, các đoàn có số hiệu m+1,m+2,…,n lần lượt đăng kí tham gia. Mỗi khi có đoàn mới đăng kí tham gia, ban tổ chức sẽ sắp xếp lại các nhóm (từ toàn bộ học sinh của các đoàn đã tham gia) sao cho có nhiều nhóm chơi nhất theo quy định: mỗi nhóm có đúng k học sinh và không nhóm nào có hai học sinh cùng đoàn.

Yêu cầu: Cho các số nguyên dương a1,a2,…,an, k và m. Hãy giúp ban tổ chức tính số nhóm nhiều nhất có thể xếp được mỗi khi có một đoàn mới đăng kí tham gia chơi.

Dữ liệu vào

  • Dòng đầu tiên ghi số nguyên dương T (T≤100) là số bộ dữ liệu, mỗi bộ theo khuôn dạng sau:
    • Dòng thứ nhất gồm ba số nguyên dương n,k,m (k,m<n≤105);
    • Dòng thứ hai chứa n số nguyên dương a1,a2,…,an (1≤ai≤109).

Dữ liệu ra

In ra T dòng, mỗi dòng ứng với một bộ dữ liệu gồm n−m số nguyên: số thứ j là số nhóm nhiều nhất xếp được khi đoàn m+j đăng kí tham gia (khi đó các đoàn 1,2,…,m+j đã tham gia), với j=1,2,…,n−m. Hai số liên tiếp cách nhau một dấu cách.

Ràng buộc

  • 1≤T≤100.
  • 1≤k<n≤105, 1≤m<n.
  • 1≤ai≤109.
  • Có 30% số test với T=1; k,m<n≤103.
  • Có 30% số test với T≤10; k,m<n≤103.
  • Có 40% số test với T≤100; k,m<n≤105.

Ví dụ

Input Output Giải thích
1
5 3 3
3 5 3 2 4
4 5 Khi đoàn 4 tham gia, các đoàn có 3,5,3,2 học sinh: xếp được 4 nhóm 3 người (đoàn 2 góp 4 người, đoàn 1 và 3 mỗi đoàn 3 người, đoàn 4 góp 2 người, tổng 12). Khi đoàn 5 tham gia (4 học sinh), xếp được 5 nhóm.
2
4 2 1
5 1 1 1
3 1 1
1000000000 1000000000 1000000000
1 2 3
2000000000 3000000000
Bộ thứ nhất: đoàn 1 có 5 học sinh nhưng mỗi nhóm có nhiều nhất một học sinh của đoàn 1, nên số nhóm bằng số học sinh của các đoàn còn lại. Bộ thứ hai: k=1, mỗi học sinh là một nhóm; đáp án có thể vượt quá 231.

Bình luận

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

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0