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

HSG lớp 9 Nghệ An 2025-2026 (Bảng B)

SỞ GIÁO DỤC VÀ ĐÀO TẠO NGHỆ AN ĐỀ CHÍNH THỨC
(Đề thi gồm 03 trang)

KỲ THI CHỌN HỌC SINH GIỎI TỈNH LỚP 9 Năm học 2025 - 2026
Môn thi: Tin học - Bảng B
Thời gian làm bài 150 phút (không kể thời gian giao đề)


Tên bàiFile nguồnFile InputFile OutputBộ nhớ tối đaThời gian
Tổng số dưTONG.*TONG.INPTONG.OUT1024Mb1 giây
Chia hếtCHIAHET.*CHIAHET.INPCHIAHET.OUT1024Mb1 giây
Rô bốtROBOT.*ROBOT.INPROBOT.OUT1024Mb1 giây
Trò chơiTROCHOI.*TROCHOI.INPTROCHOI.OUT1024Mb1 giây

Phần mở rộng .* được thay thế bằng Sb2 hoặc Sb3, Cpp, Py ứng với các ngôn ngữ lập trình Scratch, C++, Python.

Anna đang tích cực ôn tập để chuẩn bị cho vòng loại của một kì thi lập trình. Bài toán mà bạn đang làm phát biểu như sau:

Cho 2 số nguyên dương x, y (1 ≤ x, y ≤ 10⁹). Tính tổng số dư khi chia số x cho 2025 và y cho 2026.

Yêu cầu: Em hãy lập trình để đưa ra kết quả đúng của bài toán.

Dữ liệu: Đọc từ tệp văn bản TONG.INP gồm hai số nguyên dương x, y.

Kết quả: Ghi ra tệp văn bản TONG.OUT gồm một số nguyên là kết quả đúng của bài toán.

Ví dụ:

TONG.INPTONG.OUTGiải thích
4060 2030144060 : 2025 = 2 dư 10;
2030 : 2026 = 1 dư 4;
Tổng số dư: 10 + 4 = 14.

Giới hạn:

  • 90% số test với 1 ≤ x, y ≤ 10⁶;
  • 10% số test với 10⁶ < x, y ≤ 10⁹.

Sau khi vượt qua vòng loại, Anna tiếp tục ôn luyện để tham dự vòng chung kết kì thi lập trình. Bài toán mà Anna đang làm phát biểu như sau:

Cho 3 số nguyên dương n, x, y (1 ≤ n, x, y ≤ 10⁹) đếm số lượng các số nguyên dương k sao cho:

  • k không vượt quá n, tức là k ≤ n
  • k chia hết cho x và không chia hết cho y.

Rất nhanh chóng Anna đã tìm ra được kết quả bài toán.

Yêu cầu: Em hãy lập trình để đưa ra kết quả đúng của bài toán.

Dữ liệu: Đọc từ tệp văn bản CHIAHET.INP chứa ba số nguyên dương n, x, y.

Kết quả: Ghi ra tệp CHIAHET.OUT số lượng các số nguyên dương không vượt quá n, chia hết cho x mà không chia hết cho y.

Ví dụ:

CHIAHET.INPCHIAHET.OUTGiải thích
10 2 34Có 4 số thoả mãn gồm: 2, 4, 8, 10

Giới hạn:

  • 80% số test với 1 ≤ n ≤ 10⁶;
  • 20% số test với 10⁶ < n ≤ 10⁹.

Anna đang dự thi vòng chung kết lập trình. Nhiệm vụ của Anna là phải lập trình để nạp phần mềm cho n con Robot hoạt động, các con Robot được đánh số từ 1 đến n. Mỗi con Robot khi hoạt động được nó sẽ nhận một trong hai giá trị là 1 hoặc -1.

Sau khi toàn bộ n con Robot đã hoạt động, hệ thống sẽ hiển thị một dãy n giá trị a₁, a₂, …, aₙ (aᵢ = 1 hoặc aᵢ = −1) tương ứng với giá trị của từng con Robot.

Tiếp đến hệ thống sẽ chọn ngẫu nhiên con Robot thứ i bất kì và tiến hành thay đổi giá trị của Robot thứ i và thứ i + 1 (Nếu giá trị là -1 thì chuyển thành 1 và ngược lại), việc này chỉ thực hiện duy nhất một lần.

Yêu cầu: Hãy cho biết với các cách chọn con Robot thứ i và thứ i + 1 (i < n) để thay đổi giá trị như vậy thì tổng giá trị lớn nhất có thể đạt được của n con Robot là bao nhiêu?

Dữ liệu: Đọc từ file văn bản ROBOT.INP gồm:

  • Dòng đầu tiên ghi số nguyên dương n (n ≤ 10⁶) là số lượng con Robot.
  • Dòng thứ 2 gồm n số nguyên a₁, a₂, …, aₙ (aᵢ ∈ {1, -1}) biểu thị giá trị tương ứng của từng con Robot.

Kết quả: Ghi ra file văn bản ROBOT.OUT tổng giá trị lớn nhất của n con Robot có thể đạt được sau chuyển đổi.

Ví dụ:

ROBOT.INPROBOT.OUTGiải thích
5
-1 1 1 -1 -1
3Hệ thống thay đổi giá trị của con Robot thứ 4 và thứ 5. Lúc đó giá trị mới của 5 con Robot là -1 1 1 1 1 => Tổng giá trị lớn nhất là 3
2
1 1
-2Hệ thống chỉ có thể thay đổi giá trị của con Robot thứ 1 và thứ 2. Lúc đó giá trị mới của 2 con Robot là -1 -1 => Tổng giá trị lớn nhất là -2

Giới hạn:

  • 60% số test với 1 ≤ n ≤ 10³;
  • 40% số test với 10³ < n ≤ 10⁶.

Sau khi kết thúc vòng thi, Anna cùng các bạn trong đội lập trình được tham gia một hoạt động trải nghiệm tại trung tâm giải trí. Anna đã chọn tham gia một trò chơi “Vượt chướng ngại vật”. Anna được Ban tổ chức (BTC) cấp một dãy gồm n chướng ngại vật được đánh số thứ tự từ 1 đến n và dãy số nguyên a₁, a₂, …, aₙ tương ứng là điểm số khi vượt qua từng chướng ngại vật.

Anna cần chọn một đoạn liên tiếp các chướng ngại vật sao cho sau khi hoàn thành đoạn đó, tổng số điểm đạt được bằng hoặc vượt ngưỡng điểm tối thiểu S mà BTC đưa ra thì mới được nhận quà.

Anna đã xác định được đoạn ít nhất các chướng ngại vật cần vượt qua để hoàn thành trò chơi. Em hãy giải quyết bài toán trên để đối sánh kết quả với Anna nhé!

Yêu cầu: Hãy lập trình tìm ra độ dài ngắn nhất của đoạn liên tiếp các chướng ngại vật mà Anna cần hoàn thành để tổng điểm đạt được tối thiểu là S điểm.

Dữ liệu: Đọc từ tệp văn bản TROCHOI.INP gồm:

  • Dòng đầu tiên chứa hai số nguyên dương n và S (1 ≤ n ≤ 10⁵) và (1 ≤ S ≤ 10⁹).
  • Dòng thứ 2 chứa một dãy số nguyên a₁, a₂, …, aₙ (1 ≤ aᵢ ≤ 10⁹) tương ứng là điểm số khi vượt qua từng chướng ngại vật.

Kết quả: Ghi ra tệp văn bản TROCHOI.OUT một số nguyên duy nhất là số lượng chướng ngại vật thoả mãn điều kiện bài toán.

(Dữ liệu đầu vào luôn đảm bảo tìm được giá trị thoả mãn điều kiện bài toán)

Ví dụ:

TROCHOI.INPTROCHOI.OUTGiải thích
8 10
5 3 7 1 6 5 2 4
2Anna có thể chọn đoạn gồm 2 phần tử thứ 2 và 3 hoặc đoạn gồm 2 phần tử thứ 5 và 6

Giới hạn:

  • 60% số test với 1 ≤ n ≤ 10³;
  • 40% số test với 10³ < n ≤ 10⁵.

Hết