Thi thử HSG Tin 9 #02 – 30/10/2026 (Công khai cho mọi người)
Sơn cọc tiêu (Đề tự luyện HSG Tin 9 #02 – Bài 1)
Nộp bàiPoint: 5
🎓 Khóa học Lập trình Thuật toán thi đấu của thầy Nguyễn Việt Nam Sơn – 111 buổi video, kèm cặp cá nhân, luyện thi chuyên Tin · HSG Tin học · Tin học trẻ · đội tuyển quốc gia · Olympic/ICPC. 👉 Xem chi tiết khóa học · Thành tích học viên
📚 Mới ra mắt – Gói giải đề có lời giải chi tiết · chấm bài tự động · thầy hỗ trợ 1 – 1. Nếu còn phân vân về khóa học chính thức, các em và phụ huynh có thể tham khảo các gói giải đề dưới đây để trải nghiệm trước hệ thống làm bài, cách thầy phân tích – giải bài và sự hỗ trợ trực tiếp của thầy:
- 👉 Gói giải đề Tuyển sinh 10 chuyên Tin Hà Nội 2024 – 2026 – KHTN, ĐHSP · 5 đề · 21 bài · C++ và Python
- 👉 Gói giải đề Tuyển sinh 10 chuyên Tin Phổ thông Năng khiếu TP.HCM 2004 – 2026 – 22 đề · 84 bài · C++ và Python
- 👉 Gói giải đề HSG Tin học lớp 9 TP.HCM 2008 – 2026 – cấp Thành phố · 17 đề · 48 bài · C++ và Python
- 👉 Gói giải đề HSG Tin học lớp 9 Hà Nội 2005 – 2026 – cấp Thành phố · 17 đề · 69 bài · C++ và Python
📞 Đăng ký học: Zalo 0767 666 702 · Facebook Nguyễn Việt Nam Sơn · 🌐 laptrinhthuattoan.blogspot.com
Dọc bờ kênh xáng trước trường, xã cắm một hàng cọc tiêu rất dài, các cọc được đánh số lần lượt ~1, 2, 3, \dots~ (coi như hàng cọc dài vô tận). Nhân dịp làm công trình thanh niên, thầy Sơn chia học trò thành ba nhóm, mỗi nhóm cầm một màu sơn:
- Nhóm Đỏ sơn mọi cọc có số thứ tự chia hết cho ~a~;
- Nhóm Vàng sơn mọi cọc có số thứ tự chia hết cho ~b~;
- Nhóm Xanh sơn mọi cọc có số thứ tự chia hết cho ~c~.
Một cọc được đúng một nhóm sơn thì có màu tươi, rất đẹp. Một cọc bị từ hai nhóm trở lên sơn chồng lên nhau thì màu bị lem, phải cạo ra sơn lại; còn cọc không nhóm nào sơn thì vẫn giữ màu xi măng.
Thầy Sơn muốn chụp ảnh các đoạn bờ kênh để làm kỷ yếu, nên thầy hỏi ~Q~ câu: với đoạn từ cọc số ~L~ đến cọc số ~R~ (tính cả hai đầu), có bao nhiêu cọc màu tươi (được đúng một nhóm sơn)?
Hãy giúp thầy Sơn trả lời tất cả các câu hỏi.
Dữ liệu vào
- Dòng đầu tiên chứa ba số nguyên ~a, b, c~ ~(1 \le a, b, c \le 10^{18})~. Ba số này có thể bằng nhau.
- Dòng thứ hai chứa số nguyên ~Q~ ~(1 \le Q \le 10^5)~.
- ~Q~ dòng tiếp theo, mỗi dòng chứa hai số nguyên ~L, R~ ~(1 \le L \le R \le 10^{18})~ mô tả một câu hỏi.
Kết quả
Gồm ~Q~ dòng, dòng thứ ~i~ là số cọc màu tươi trong đoạn của câu hỏi thứ ~i~.
Giới hạn (Subtask)
- Subtask 1 (~20\%~ số điểm): ~Q \le 10~ và ~R \le 10^6~ ở mọi câu hỏi.
- Subtask 2 (~30\%~ số điểm): ~R \le 10^6~ ở mọi câu hỏi.
- Subtask 3 (~50\%~ số điểm): không có ràng buộc gì thêm.
💡 Lưu ý khi nộp bằng Python: các em nên chọn ngôn ngữ PyPy 3 thay vì Python 3 để chương trình chạy nhanh hơn nhiều. Giới hạn thời gian cho Python/PyPy ở bài này là 3 giây.
Sample Input 1
2 3 5
2
1 10
11 29
Sample Output 1
6
8
Giải thích
Câu hỏi 1, đoạn cọc ~1 \dots 10~: các cọc màu tươi là ~2, 3, 4, 5, 8, 9~; cọc ~6~ và cọc ~10~ bị lem, cọc ~1~ và cọc ~7~ không nhóm nào sơn. Vậy có ~6~ cọc màu tươi.
Câu hỏi 2, đoạn cọc ~11 \dots 29~: các cọc màu tươi là ~14, 16, 21, 22, 25, 26, 27, 28~, tức là ~8~ cọc.

Sample Input 2
9 9 6
1
2 17
Sample Output 2
2
Giải thích
Cọc ~9~ được cả nhóm Đỏ và nhóm Vàng sơn nên bị lem. Trong đoạn từ cọc ~2~ đến cọc ~17~ chỉ có cọc ~6~ và cọc ~12~ là màu tươi.

Nguồn: Đề tự luyện HSG Tin học lớp 9 (đề tự soạn).
Vòng cù lao (Đề tự luyện HSG Tin 9 #02 – Bài 2)
Nộp bàiPoint: 5
🎓 Khóa học Lập trình Thuật toán thi đấu của thầy Nguyễn Việt Nam Sơn – 111 buổi video, kèm cặp cá nhân, luyện thi chuyên Tin · HSG Tin học · Tin học trẻ · đội tuyển quốc gia · Olympic/ICPC. 👉 Xem chi tiết khóa học · Thành tích học viên
📚 Mới ra mắt – Gói giải đề có lời giải chi tiết · chấm bài tự động · thầy hỗ trợ 1 – 1. Nếu còn phân vân về khóa học chính thức, các em và phụ huynh có thể tham khảo các gói giải đề dưới đây để trải nghiệm trước hệ thống làm bài, cách thầy phân tích – giải bài và sự hỗ trợ trực tiếp của thầy:
- 👉 Gói giải đề Tuyển sinh 10 chuyên Tin Hà Nội 2024 – 2026 – KHTN, ĐHSP · 5 đề · 21 bài · C++ và Python
- 👉 Gói giải đề Tuyển sinh 10 chuyên Tin Phổ thông Năng khiếu TP.HCM 2004 – 2026 – 22 đề · 84 bài · C++ và Python
- 👉 Gói giải đề HSG Tin học lớp 9 TP.HCM 2008 – 2026 – cấp Thành phố · 17 đề · 48 bài · C++ và Python
- 👉 Gói giải đề HSG Tin học lớp 9 Hà Nội 2005 – 2026 – cấp Thành phố · 17 đề · 69 bài · C++ và Python
📞 Đăng ký học: Zalo 0767 666 702 · Facebook Nguyễn Việt Nam Sơn · 🌐 laptrinhthuattoan.blogspot.com
Giữa dòng sông Hậu có một cù lao, quanh cù lao có ~N~ nhà học trò của thầy Sơn, mỗi nhà có một bến xuồng. Các bến xếp thành một vòng tròn và được đánh số ~1, 2, \dots, N~ theo chiều nước chảy: từ bến ~i~ chèo xuôi sẽ tới bến ~i + 1~, còn từ bến ~N~ chèo xuôi sẽ quay về bến ~1~.
Dịp đầu năm học, thầy Sơn chèo xuồng đi thăm nhà học trò. Thầy chọn một bến xuất phát ~s~, rồi ghé lần lượt các nhà ~s, s + 1, s + 2, \dots~ theo chiều nước chảy (đi qua bến ~N~ thì tiếp tục với bến ~1~), không bỏ qua nhà nào và không ghé nhà nào hai lần (nên ghé tối đa ~N~ nhà). Ghé nhà thứ ~i~ mất ~a_i~ phút (tính luôn thời gian chèo tới bến kế tiếp); có nhà ~a_i = 0~ vì nhà vắng người, thầy chỉ treo quà ở cổng rồi đi ngay.
Thầy chỉ có ~T~ phút, nên tổng thời gian của các nhà được ghé không được vượt quá ~T~. Hãy giúp thầy Sơn tính:
- ~K~ là số nhà nhiều nhất thầy có thể ghé thăm (khi chọn bến xuất phát tốt nhất);
- ~C~ là số bến xuất phát ~s~ (~1 \le s \le N~) mà nếu xuất phát từ ~s~ thì thầy ghé được đúng ~K~ nhà.
Nếu thầy không thể ghé được nhà nào (tức ~K = 0~), quy ước ~C = 0~.
Dữ liệu vào
- Dòng đầu tiên chứa hai số nguyên ~N~ và ~T~ ~(1 \le N \le 2 \times 10^5;~ ~0 \le T \le 10^{18})~.
- Dòng thứ hai chứa ~N~ số nguyên ~a_1, a_2, \dots, a_N~ ~(0 \le a_i \le 10^9)~.
Kết quả
In ra hai số nguyên ~K~ và ~C~, cách nhau một dấu cách.
Giới hạn (Subtask)
- Subtask 1 (~20\%~ số điểm): ~N \le 300~.
- Subtask 2 (~30\%~ số điểm): ~N \le 5000~.
- Subtask 3 (~50\%~ số điểm): không có ràng buộc gì thêm.
💡 Lưu ý khi nộp bằng Python: các em nên chọn ngôn ngữ PyPy 3 thay vì Python 3 để chương trình chạy nhanh hơn nhiều. Giới hạn thời gian cho Python/PyPy ở bài này là 3 giây.
Sample Input 1
6 12
3 6 2 7 2 9
Sample Output 1
3 2
Giải thích
- Xuất phát từ bến ~1~: ghé nhà ~1, 2, 3~ hết ~3 + 6 + 2 = 11~ phút (thêm nhà ~4~ thì thành ~18 > 12~) → ~3~ nhà.
- Xuất phát từ bến ~2~: ghé nhà ~2, 3~ hết ~8~ phút (thêm nhà ~4~ thì thành ~15~) → ~2~ nhà.
- Xuất phát từ bến ~3~: ghé nhà ~3, 4, 5~ hết ~2 + 7 + 2 = 11~ phút (thêm nhà ~6~ thì thành ~20~) → ~3~ nhà.
- Xuất phát từ bến ~4~: ghé nhà ~4, 5~ hết ~9~ phút (thêm nhà ~6~ thì thành ~18~) → ~2~ nhà.
- Xuất phát từ bến ~5~: ghé nhà ~5, 6~ hết ~11~ phút (thêm nhà ~1~ thì thành ~14~) → ~2~ nhà.
- Xuất phát từ bến ~6~: ghé nhà ~6~ rồi nhà ~1~, hết ~9 + 3 = 12~ phút (thêm nhà ~2~ thì thành ~18~) → ~2~ nhà.
Vậy ~K = 3~ và có ~C = 2~ bến xuất phát (bến ~1~ và bến ~3~) đạt được ~3~ nhà.

Sample Input 2
6 6
0 5 0 4 7 2
Sample Output 2
3 1
Giải thích
Nhà ~1~ và nhà ~3~ vắng người nên ghé mất ~0~ phút. Xuất phát từ bến ~1~, thầy ghé nhà ~1, 2, 3~ hết ~0 + 5 + 0 = 5~ phút (thêm nhà ~4~ thì thành ~9 > 6~) → ~3~ nhà. Xuất phát từ các bến ~2, 3, 4, 5, 6~ thì ghé được lần lượt ~2, 2, 1, 0, 2~ nhà (riêng bến ~5~: nhà ~5~ đã mất ~7 > 6~ phút nên không ghé được nhà nào). Vậy ~K = 3~ và ~C = 1~.

Nguồn: Đề tự luyện HSG Tin học lớp 9 (đề tự soạn).
Tưới vườn cam (Đề tự luyện HSG Tin 9 #02 – Bài 3)
Nộp bàiPoint: 5
🎓 Khóa học Lập trình Thuật toán thi đấu của thầy Nguyễn Việt Nam Sơn – 111 buổi video, kèm cặp cá nhân, luyện thi chuyên Tin · HSG Tin học · Tin học trẻ · đội tuyển quốc gia · Olympic/ICPC. 👉 Xem chi tiết khóa học · Thành tích học viên
📚 Mới ra mắt – Gói giải đề có lời giải chi tiết · chấm bài tự động · thầy hỗ trợ 1 – 1. Nếu còn phân vân về khóa học chính thức, các em và phụ huynh có thể tham khảo các gói giải đề dưới đây để trải nghiệm trước hệ thống làm bài, cách thầy phân tích – giải bài và sự hỗ trợ trực tiếp của thầy:
- 👉 Gói giải đề Tuyển sinh 10 chuyên Tin Hà Nội 2024 – 2026 – KHTN, ĐHSP · 5 đề · 21 bài · C++ và Python
- 👉 Gói giải đề Tuyển sinh 10 chuyên Tin Phổ thông Năng khiếu TP.HCM 2004 – 2026 – 22 đề · 84 bài · C++ và Python
- 👉 Gói giải đề HSG Tin học lớp 9 TP.HCM 2008 – 2026 – cấp Thành phố · 17 đề · 48 bài · C++ và Python
- 👉 Gói giải đề HSG Tin học lớp 9 Hà Nội 2005 – 2026 – cấp Thành phố · 17 đề · 69 bài · C++ và Python
📞 Đăng ký học: Zalo 0767 666 702 · Facebook Nguyễn Việt Nam Sơn · 🌐 laptrinhthuattoan.blogspot.com
Vườn cam sành của thầy Sơn ở Tam Bình (Vĩnh Long) được trồng thẳng hàng thành một lưới gồm ~M~ hàng và ~N~ cột; cây ở hàng ~r~, cột ~c~ gọi là cây ~(r, c)~ ~(1 \le r \le M,~ ~1 \le c \le N)~.
Mùa nắng, thầy Sơn kéo máy bơm tưới vườn ~P~ lần. Lần tưới thứ ~i~ phủ nước lên mọi cây trong một khu hình chữ nhật, được thầy ghi lại bằng hai góc đối diện ~(r_1, c_1)~ và ~(r_2, c_2)~ của khu đó. Vì thầy ghi vội nên hai góc có thể là góc trên-trái và dưới-phải, cũng có thể là góc dưới-phải và trên-trái, hay góc trên-phải và dưới-trái... (không đảm bảo ~r_1 \le r_2~ hay ~c_1 \le c_2~). Hai khu tưới có thể chồng lên nhau; mỗi lần tưới thì mỗi cây trong khu nhận thêm ~1~ lượt nước.
Một cây được gọi là đủ nước nếu sau cả ~P~ lần tưới nó nhận được ít nhất ~K~ lượt nước.
Để chuẩn bị bán cam, thầy Sơn hỏi ~Q~ câu: trong khu hình chữ nhật có hai góc đối diện ~(x_1, y_1)~ và ~(x_2, y_2)~ (cũng không đảm bảo thứ tự), có bao nhiêu cây đủ nước?
Hãy giúp thầy Sơn trả lời tất cả các câu hỏi.
Dữ liệu vào
- Dòng đầu tiên chứa ba số nguyên ~M, N, K~ ~(1 \le M, N;~ ~M \times N \le 10^6;~ ~0 \le K \le 10^5)~.
- Dòng thứ hai chứa số nguyên ~P~ ~(1 \le P \le 10^5)~.
- ~P~ dòng tiếp theo, mỗi dòng chứa bốn số nguyên ~r_1, c_1, r_2, c_2~ ~(1 \le r_1, r_2 \le M;~ ~1 \le c_1, c_2 \le N)~ mô tả một lần tưới.
- Dòng tiếp theo chứa số nguyên ~Q~ ~(1 \le Q \le 10^5)~.
- ~Q~ dòng tiếp theo, mỗi dòng chứa bốn số nguyên ~x_1, y_1, x_2, y_2~ ~(1 \le x_1, x_2 \le M;~ ~1 \le y_1, y_2 \le N)~ mô tả một câu hỏi.
Kết quả
Gồm ~Q~ dòng, dòng thứ ~j~ là số cây đủ nước trong khu của câu hỏi thứ ~j~.
Giới hạn (Subtask)
- Subtask 1 (~20\%~ số điểm): ~M, N \le 100~ và ~P, Q \le 100~.
- Subtask 2 (~30\%~ số điểm): ~Q \le 10~.
- Subtask 3 (~50\%~ số điểm): không có ràng buộc gì thêm.
Lưu ý: chỉ có ~M \times N \le 10^6~, nên vườn có thể rất "dài" như ~M = 1, N = 10^6~ hoặc ~M = 10^6, N = 1~.
💡 Lưu ý khi nộp bằng Python: các em nên chọn ngôn ngữ PyPy 3 thay vì Python 3 để chương trình chạy nhanh hơn nhiều. Giới hạn thời gian cho Python/PyPy ở bài này là 4 giây.
Sample Input 1
3 4 2
3
1 1 2 3
3 4 2 2
2 1 2 1
2
1 1 3 4
3 3 1 2
Sample Output 1
3
2
Giải thích
Số lượt nước của từng cây sau ba lần tưới:
1 1 1 0
2 2 2 1
0 1 1 1
Các cây đủ nước (ít nhất ~2~ lượt) là ~(2, 1), (2, 2), (2, 3)~. Câu hỏi 1 hỏi cả vườn nên đáp án là ~3~. Câu hỏi 2 hỏi khu hàng ~1..3~, cột ~2..3~, chứa hai cây đủ nước ~(2, 2), (2, 3)~.


Sample Input 2
2 3 0
1
1 1 1 1
1
2 3 1 2
Sample Output 2
4
Giải thích
Với ~K = 0~, mọi cây đều đủ nước (kể cả cây chưa được tưới lần nào), nên khu hàng ~1..2~, cột ~2..3~ có ~4~ cây đủ nước.
Nguồn: Đề tự luyện HSG Tin học lớp 9 (đề tự soạn).
Chuyến du khảo (Đề tự luyện HSG Tin 9 #02 – Bài 4)
Nộp bàiPoint: 5
🎓 Khóa học Lập trình Thuật toán thi đấu của thầy Nguyễn Việt Nam Sơn – 111 buổi video, kèm cặp cá nhân, luyện thi chuyên Tin · HSG Tin học · Tin học trẻ · đội tuyển quốc gia · Olympic/ICPC. 👉 Xem chi tiết khóa học · Thành tích học viên
📚 Mới ra mắt – Gói giải đề có lời giải chi tiết · chấm bài tự động · thầy hỗ trợ 1 – 1. Nếu còn phân vân về khóa học chính thức, các em và phụ huynh có thể tham khảo các gói giải đề dưới đây để trải nghiệm trước hệ thống làm bài, cách thầy phân tích – giải bài và sự hỗ trợ trực tiếp của thầy:
- 👉 Gói giải đề Tuyển sinh 10 chuyên Tin Hà Nội 2024 – 2026 – KHTN, ĐHSP · 5 đề · 21 bài · C++ và Python
- 👉 Gói giải đề Tuyển sinh 10 chuyên Tin Phổ thông Năng khiếu TP.HCM 2004 – 2026 – 22 đề · 84 bài · C++ và Python
- 👉 Gói giải đề HSG Tin học lớp 9 TP.HCM 2008 – 2026 – cấp Thành phố · 17 đề · 48 bài · C++ và Python
- 👉 Gói giải đề HSG Tin học lớp 9 Hà Nội 2005 – 2026 – cấp Thành phố · 17 đề · 69 bài · C++ và Python
📞 Đăng ký học: Zalo 0767 666 702 · Facebook Nguyễn Việt Nam Sơn · 🌐 laptrinhthuattoan.blogspot.com
Cuối học kỳ, thầy Sơn thuê một chiếc ghe chở học trò đi du khảo trên kênh Xà No. Con kênh được chia thành ~N~ khúc liên tiếp, đánh số từ ~1~ đến ~N~ theo chiều ghe chạy. Khúc thứ ~i~ có độ vui ~a_i~: khúc có vườn cây trái, chợ quê thì ~a_i > 0~; khúc nắng gắt, nước đục, nhiều lục bình thì ~a_i~ có thể âm (học trò thấy mệt và chán).
Thầy Sơn chọn một đoạn khúc liên tiếp ~l, l + 1, \dots, r~ ~(1 \le l \le r \le N)~ để ghe chạy qua. Để học trò đỡ mệt, thầy được phép cho cả lớp ngủ trưa ở một số khúc trong đoạn đã chọn: khi ngủ ở khúc ~i~, cả lớp không thấy gì nên khúc đó được tính độ vui bằng ~0~ (thay cho ~a_i~). Tuy nhiên:
- cả chuyến đi chỉ được ngủ ở tối đa ~K~ khúc;
- không được ngủ ở hai khúc liên tiếp (ngủ dậy thì phải thức ngắm cảnh ít nhất một khúc rồi mới được ngủ tiếp).
Tổng độ vui của chuyến đi là tổng ~a_i~ của các khúc mà cả lớp thức trong đoạn đã chọn. Hãy giúp thầy Sơn chọn đoạn kênh và các khúc ngủ sao cho tổng độ vui là lớn nhất.
Dữ liệu vào
- Dòng đầu tiên chứa hai số nguyên ~N~ và ~K~ ~(1 \le N \le 2 \times 10^5;~ ~0 \le K \le 10)~.
- Dòng thứ hai chứa ~N~ số nguyên ~a_1, a_2, \dots, a_N~ ~(|a_i| \le 10^9)~.
Kết quả
Một số nguyên duy nhất là tổng độ vui lớn nhất có thể đạt được. Lưu ý đoạn kênh được chọn phải có ít nhất một khúc.
Giới hạn (Subtask)
- Subtask 1 (~20\%~ số điểm): ~N \le 15~.
- Subtask 2 (~30\%~ số điểm): ~N \le 3000~ và ~K \ge 1~.
- Subtask 3 (~50\%~ số điểm): không có ràng buộc gì thêm.
💡 Lưu ý khi nộp bằng Python: các em nên chọn ngôn ngữ PyPy 3 thay vì Python 3 để chương trình chạy nhanh hơn nhiều. Giới hạn thời gian cho Python/PyPy ở bài này là 3 giây.
Sample Input 1
9 2
9 7 -3 7 -8 -2 8 5 -1
Sample Output 1
34
Giải thích
Thầy chọn đoạn từ khúc ~1~ đến khúc ~8~ và cho cả lớp ngủ ở khúc ~3~ và khúc ~5~: tổng độ vui là ~9 + 7 + 0 + 7 + 0 + (-2) + 8 + 5 = 34~.

Sample Input 2
4 0
-5 -2 -7 -3
Sample Output 2
-2
Giải thích
Không được ngủ khúc nào (~K = 0~) mà khúc nào cũng có độ vui âm, nên thầy chọn đoạn chỉ gồm một khúc ~2~ có độ vui ~-2~.
Nguồn: Đề tự luyện HSG Tin học lớp 9 (đề tự soạn).