HSG THPT An Giang 2025-2026
SỞ GIÁO DỤC VÀ ĐÀO TẠO
TỈNH AN GIANG
ĐỀ THI CHÍNH THỨC
(Đề thi có 03 trang, gồm 03 bài)
KỲ THI CHỌN HỌC SINH GIỎI CẤP TỈNH THPT
Năm học 2025 - 2026
Môn: Tin học - Ngày thi: 13/3/2026
Thời gian: 180 phút (không kể thời gian giao đề)
Tổng quan ngày thi
Phần tiêu đề “Tổng quan ngày thi”| Bài | Tiêu đề | File nộp | File dữ liệu | File kết quả | Thời gian | Bộ nhớ | Điểm |
|---|---|---|---|---|---|---|---|
| 1 | BIẾN ĐỔI | BIENDOI.* | BIENDOI.INP | BIENDOI.OUT | 1 giây | 1024 MB | 6 |
| 2 | SỐ ĐẸP | SODEP.* | SODEP.INP | SODEP.OUT | 1 giây | 1024 MB | 7 |
| 3 | DÃY CON | DAYCON.* | DAYCON.INP | DAYCON.OUT | 1 giây | 1024 MB | 7 |
- Dấu * được thay thế bởi PAS hoặc CPP hoặc PY tương ứng với ngôn ngữ lập trình Pascal hoặc C++ hoặc Python.
- Mỗi bài gồm nhiều subtask, mỗi subtask bao gồm nhiều test đơn, điểm của thí sinh được tính theo từng test đơn.
Hãy lập trình giải các bài toán sau:
Bài 1. BIẾN ĐỔI (6,0 điểm)
Phần tiêu đề “Bài 1. BIẾN ĐỔI (6,0 điểm)”Cho dãy số nguyên A gồm N phần tử A₁, A₂, …, A_N.
Yêu cầu: Thực hiện biến đổi dãy A theo các yêu cầu sau:
- Lần lượt tăng X đơn vị đối với các số lẻ và giảm Y đơn vị đối với các số chẵn.
- Sắp xếp dãy số tăng dần theo thứ tự từ trái sang phải sau khi thay đổi giá trị.
Dữ liệu
Vào từ file văn bản BIENDOI.INP:
- Dòng đầu chứa 3 số nguyên dương N, X, Y (1 ≤ N ≤ 10⁶; 0 < X, Y < 10³).
- Dòng thứ hai chứa dãy số nguyên A gồm N phần tử A₁, A₂, …, A_N (1 ≤ Aᵢ ≤ 10⁸).
Các số trên cùng một dòng cách nhau bởi dấu cách.
Kết quả
Ghi ra file văn bản BIENDOI.OUT:
- Dòng đầu ghi dãy số sau khi thay đổi giá trị.
- Dòng thứ hai ghi dãy số tăng dần theo thứ tự từ trái sang phải sau khi thay đổi giá trị.
Ví dụ
| BIENDOI.INP | BIENDOI.OUT |
|---|---|
6 4 58 2 5 6 3 4 | 3 -3 9 1 7 -1-3 -1 1 3 7 9 |
Chấm điểm
- Subtask 1 (50% số điểm): N ≤ 10³;
- Subtask 2 (40% số điểm): N ≤ 10⁶;
- Subtask 3 (10% số điểm): Không có ràng buộc nào thêm.
Bài 2. SỐ ĐẸP (7,0 điểm)
Phần tiêu đề “Bài 2. SỐ ĐẸP (7,0 điểm)”Trong tiết học lập trình giáo viên yêu cầu Bờm lập trình giải các bài tập về số học như: số chính phương, số nguyên tố, số đối xứng, số hoàn hảo,… Bờm chăm chỉ học tập và giải gần hết các bài tập giáo viên yêu cầu nhưng còn bài tập về số nguyên tố và số đối xứng Bờm chưa hiểu rõ nên chưa làm được.
Khi tan học về Bờm tra cứu, học tập thêm trên các trang dạy lập trình có uy tín đã tìm hiểu được rằng:
- Số nguyên tố là số chia hết cho một và chính nó.
- Số đối xứng là số đọc từ trái sang phải thu được kết quả giống như đọc từ phải qua trái.
Sau khi tìm hiểu Bờm đã giải được các bài tập về số nguyên tố, số đối xứng nhưng bài số đẹp thì Bờm chưa tìm ra được cách giải quyết, biết rằng số đẹp là số nguyên dương T thỏa mãn tất cả các điều kiện sau:
- A ≤ T ≤ B trong đó A, B là hai số nguyên dương cho trước;
- T là một số nguyên tố;
- T là một số đối xứng.
Yêu cầu: Cho hai số nguyên dương A và B, hãy tìm giúp Bờm số lượng các số đẹp.
Dữ liệu
Vào từ file văn bản SODEP.INP:
- Hai số nguyên A và B (10² ≤ A < B ≤ 10⁹).
Các số trên cùng một dòng cách nhau bởi dấu cách.
Kết quả
Ghi ra file văn bản SODEP.OUT:
- Một số nguyên xác định số lượng số đẹp.
Ví dụ
| SODEP.INP | SODEP.OUT | Giải thích |
|---|---|---|
11111 22222 | 23 | Từ 11111 đến 22222 có 23 số nguyên tố đối xứng sau: 11311, 11411, 12421, 12721, 12821, 13331, 13831, 13931, 14341, 14741, 15451, 15551, 16061, 16361, 16561, 16661, 17471, 17971, 18181, 18481, 19391, 19891, 19991. |
Chấm điểm
- Subtask 1 (40% số điểm): A < B ≤ 10⁶;
- Subtask 2 (30% số điểm): A < B ≤ 10⁷;
- Subtask 3 (20% số điểm): A < B ≤ 10⁹;
- Subtask 4 (10% số điểm): Không có ràng buộc nào thêm.
Bài 3. DÃY CON (7,0 điểm)
Phần tiêu đề “Bài 3. DÃY CON (7,0 điểm)”Sau khi học lập trình một thời gian Bờm đã thi đậu vào đội tuyển dự thi học sinh giỏi cấp tỉnh. Bờm ôn luyện rất chăm chỉ, quyết tâm đạt một giải trong kỳ thi này nhưng trong quá trình ôn luyện Bờm học không giỏi về xử lý dãy số, các bài xử lý dãy số nâng cao càng làm Bờm gặp khó khăn nhiều hơn.
Trong các bài xử lý dãy số có bài tìm dãy con liên tiếp có độ dài bất kỳ sao cho tổng giá trị các phần tử dãy con đạt giá trị lớn nhất Bờm chưa tìm ra được cách giải tối ưu, nhờ các bạn lập trình viên hỗ trợ tiếp Bờm giải quyết nhé.
Bài tìm dãy con mà Bờm chưa tìm ra cách giải tối ưu như sau:
Cho một dãy số nguyên A gồm N phần tử A₁, A₂, …, A_N và hai số nguyên dương U, V (1 ≤ U ≤ V ≤ N).
Yêu cầu: Hãy tìm một dãy con liên tiếp của dãy A có tổng giá trị các phần tử đạt giá trị lớn nhất và độ dài D là tùy ý với U ≤ D ≤ V. (Độ dài của dãy con là số lượng phần tử trên dãy con đó).
Dữ liệu
Vào từ file văn bản DAYCON.INP:
- Dòng đầu chứa 3 số nguyên dương N, U, V (1 ≤ U ≤ V ≤ N ≤ 10⁵).
- Dòng thứ hai chứa dãy số nguyên A gồm N phần tử A₁, A₂, …, A_N (|Aᵢ| ≤ 10⁹, 1 ≤ i ≤ N).
Các số trên cùng một dòng cách nhau bởi dấu cách.
Kết quả
Ghi ra file văn bản DAYCON.OUT:
- Một số nguyên duy nhất là tổng giá trị các phần tử trên dãy con tìm được.
Ví dụ
| DAYCON.INP | DAYCON.OUT | |
|---|---|---|
| Test 1 | 6 2 2-2 3 1 2 5 4 | 9 |
| Test 2 | 5 2 3-4 3 -2 -6 5 | 1 |
Chấm điểm
- Subtask 1 (40% số điểm): U = V và N ≤ 3.10²;
- Subtask 2 (15% số điểm): U < V và N ≤ 3.10²;
- Subtask 3 (15% số điểm): U < V và N ≤ 5.10³;
- Subtask 4 (15% số điểm): U < V và N ≤ 10⁵;
- Subtask 5 (15% số điểm): Không có ràng buộc nào thêm.
Ghi chú:
- Thí sinh KHÔNG được sử dụng tài liệu.
- Giám thị KHÔNG giải thích gì thêm.