Bài 4: LOTO (TS10 KHTN - 2026)

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1000 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Trường H tổ chức chương trình tuyển chọn học sinh cho đội tuyển chuyên. Có \(2026\) chuyên đề kiến thức được đánh số thứ tự từ \(1\) đến \(2026\). Hội đồng chuyên môn xác định \(M\) chuyên đề trọng tâm, trong đó \(K\) chuyên đề đầu tiên được xem là các chuyên đề cốt lõi quan trọng nhất.

Mỗi học sinh đăng ký đúng \(K\) chuyên đề mà mình tự tin nhất (các chuyên đề đôi một khác nhau). Dựa trên mức độ phù hợp giữa lựa chọn của học sinh và danh sách chuyên đề trọng tâm, hội đồng phân loại học sinh theo các nhóm năng lực sau (ưu tiên nhóm có số thứ tự nhỏ nhất mà học sinh đạt được):

  • Nhóm năng lực 1: Toàn bộ \(K\) chuyên đề đăng ký đều nằm trong \(K\) chuyên đề cốt lõi.
  • Nhóm năng lực 2: Toàn bộ \(K\) chuyên đề đăng ký đều nằm trong \(M\) chuyên đề trọng tâm.
  • Nhóm năng lực 3: Có thể chọn ra \(K - 1\) chuyên đề (không kể thứ tự) trong danh sách đăng ký sao cho tất cả đều thuộc \(K - 1\) chuyên đề cốt lõi đầu tiên.
  • Nhóm năng lực 4: Có thể chọn ra \(K - 1\) chuyên đề (không kể thứ tự) trong danh sách đăng ký sao cho tất cả đều thuộc \(K\) chuyên đề cốt lõi.
  • Nhóm năng lực 5: Có thể chọn ra \(K - 1\) chuyên đề (không kể thứ tự) trong danh sách đăng ký sao cho tất cả đều thuộc \(M\) chuyên đề trọng tâm.
  • Nhóm năng lực 6: Có thể chọn ra \(K - 2\) chuyên đề (không kể thứ tự) trong danh sách đăng ký sao cho tất cả đều thuộc \(M\) chuyên đề trọng tâm.

\(J\) học sinh tham gia đăng ký. Mỗi học sinh được xếp vào nhóm năng lực có số thứ tự nhỏ nhất mà học sinh đó thỏa mãn điều kiện.

Viết một chương trình để xác định:

  • Nhiệm vụ 1: Số lượng học sinh được xếp vào nhóm năng lực \(C\) cụ thể. Các nhóm năng lực được đánh số \(1, 2, \dots, 6, 7\). Nhóm năng lực 7 dành cho những học sinh không thuộc nhóm nào ở trên.
  • Nhiệm vụ 2: Các chuyên đề nhiều học sinh đăng ký nhất, được viết theo thứ tự tăng dần nếu có nhiều hơn 1 chuyên đề thỏa mãn.

Input

  • Dòng đầu tiên ghi mã số nhiệm vụ (\(1\) hoặc \(2\)).
  • Dòng thứ hai ghi 3 số \(M, K, C\) (\(1 \le M \le 2026, 5 \le K \le M, 1 \le C \le 7\)).
  • Dòng thứ ba ghi số thứ tự \(M\) chuyên đề trọng tâm, theo thứ tự ưu tiên (cốt lõi trước, mở rộng sau).
  • Dòng thứ tư ghi một số tự nhiên \(J\) (\(1 \le J \le 5 \cdot 10^4\)), biểu thị số lượng học sinh.
  • Mỗi dòng trong số \(J\) dòng tiếp theo ghi \(K\) số tự nhiên, biểu thị các chuyên đề mà học sinh đó đăng ký.

Output

  • Đối với nhiệm vụ 1, in ra số lượng học sinh thuộc nhóm năng lực \(C\).
  • Đối với nhiệm vụ 2, in ra số thứ tự các chuyên đề được nhiều học sinh đăng ký nhất, viết theo thứ tự tăng dần.

Example

Test 1

Input
1
6 5 1
11 12 13 14 15 16
1
15 14 13 12 11
Output
1
Note

Nhiệm vụ 1. Hội đồng xác định 6 chuyên đề trọng tâm theo thứ tự là 11, 12, 13, 14, 15, 16. Mỗi học sinh đăng ký 5 chuyên đề. Có một học sinh duy nhất. Học sinh này đăng ký các chuyên đề 15, 14, 13, 12, 11. Học sinh được xếp vào Nhóm 1 vì đã đăng ký đúng 5 chuyên đề cốt lõi đầu tiên.

Test 2

Input
1
6 5 4
21 22 23 24 25 26
2
29 21 25 23 22
23 21 25 22 24
Output
1
Note

Nhiệm vụ 1. Có 2 học sinh. Một trong số họ được xếp vào Nhóm 1 và một học sinh được xếp vào Nhóm 4. Cần tìm số lượng học sinh thuộc Nhóm 4, kết quả là 1.

Test 3

Input
1
6 5 7
91 92 93 94 95 96
3
2 35 6 8 14
1 3 47 18 29
12 32 7 4 93
Output
3
Note

Có 3 học sinh. Không ai trong số họ thuộc bất kỳ nhóm nào từ 1 đến 6.

Test 4

Input
2
6 5 4
71 72 73 74 75 76
2
79 71 75 73 72
73 71 75 72 74
Output
71 72 73 75
Note

Nhiệm vụ 2. Các chuyên đề 71, 72, 73, 75 đều được cả hai học sinh đăng ký, nên chúng là các chuyên đề được nhiều học sinh đăng ký nhất.

Scoring

  • \(50\%\) số test có \(K \le 10^4, J \le 2 \cdot 10^4\).
  • \(50\%\) còn lại không có ràng buộc gì thêm.

Bình luận (1)

Mới nhất
Tải bình luận...

Kỳ thi: