Bỏ qua để đến nội dung

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 đề)


BàiTiêu đềFile nộpFile dữ liệuFile kết quảThời gianBộ nhớĐiểm
1BIẾN ĐỔIBIENDOI.*BIENDOI.INPBIENDOI.OUT1 giây1024 MB6
2SỐ ĐẸPSODEP.*SODEP.INPSODEP.OUT1 giây1024 MB7
3DÃY CONDAYCON.*DAYCON.INPDAYCON.OUT1 giây1024 MB7
  • 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:

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.INPBIENDOI.OUT
6 4 5
8 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.

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:

  1. A ≤ T ≤ B trong đó A, B là hai số nguyên dương cho trước;
  2. T là một số nguyên tố;
  3. 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.INPSODEP.OUTGiải thích
11111 2222223Từ 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.

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.INPDAYCON.OUT
Test 16 2 2
-2 3 1 2 5 4
9
Test 25 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.