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

Tuyển sinh 10 chuyên Tin Thanh Hóa 2026-2027 (đề khảo sát Lam Sơn)

SỞ GD & ĐT THANH HÓA TRƯỜNG THPT CHUYÊN LAM SƠN ĐỀ THI CHÍNH THỨC

KỲ THI KHẢO SÁT CÁC MÔN THI VÀO LỚP 10 THPT CHUYÊN LAM SƠN Năm học 2026 - 2027
Môn thi: Tin học - Ngày thi: 05/04/2026
Thời gian làm bài 150 phút (không kể thời gian phát đề)


CâuTên bàiFile chương trìnhFile dữ liệu vàoFile kết quảĐiểm
1Tính SCAU1.*CAU1.INPCAU1.OUT4
2Dãy không giảmCAU2.*CAU2.INPCAU2.OUT3
3Dãy conCAU3.*CAU3.INPCAU3.OUT2
4Cửa hàngCAU4.*CAU4.INPCAU4.OUT1

Dấu * được thay bởi PY hoặc CPP tương ứng với ngôn ngữ lập trình Python hoặc C++.

Hãy lập trình giải các bài toán sau:

Trong giờ Tin hôm nay, thầy giáo có bài toán đố cả lớp. Cho số tự nhiên N, hãy lập trình tính tổng sau:

S = 1/(1 × 2) + 1/(2 × 3) + ⋯ + 1/((N − 1) × N)

Dữ liệu: Vào từ file CAU1.INP gồm 1 số nguyên N (2 ≤ N ≤ 1018).

Kết quả: Ghi ra file CAU1.OUT một số là kết quả của bài toán (in ra 5 phần thập phân và được làm tròn theo quy tắc).

Ví dụ:

CAU1.INPCAU1.OUT
30.66667
20.50000

Ràng buộc:

  • 80% số điểm tương ứng với 50% số test có N ≤ 106;
  • 20% số điểm còn lại tương ứng với 50% số test không có ràng buộc gì thêm.

Cho dãy số nguyên a1, a2, …, an. Với mỗi số ai, Bờm được phép thực hiện 1 trong 3 thao tác sau:

  • Cộng thêm 1: ai = ai + 1;
  • Trừ đi 1: ai = ai − 1;
  • Giữ nguyên: ai = ai.

Với dãy số nguyên a1, a2, …, an đã cho, mỗi số ai (i = 1 … n) Bờm thực hiện 1 thao tác trên thì dãy được tạo ra cuối cùng là dãy không giảm được hay không?

Dữ liệu: Vào từ file CAU2.INP gồm:

  • Dòng đầu chứa số nguyên dương T là số bộ test (T ≤ 3);
  • Trong mỗi bộ test thì:
    • Dòng thứ nhất chứa duy nhất một số nguyên dương n (2 ≤ n ≤ 105);
    • Dòng thứ hai chứa n số nguyên a1, a2, …, an (|ai| ≤ 109).

Kết quả: Ghi ra file CAU2.OUT gồm T dòng là đáp án tương ứng của T test, mỗi dòng in ra YES nếu Bờm có thể tạo ra một dãy không giảm. Ngược lại in ra NO.

Ví dụ:

CAU2.INPCAU2.OUT
2
5
1 2 1 1 2
4
1 4 2 1
YES
NO

Ràng buộc:

  • 50% số điểm tương ứng với 30% số test có T = 1; a2 = a3 = ⋯ = an;
  • 30% số điểm tương ứng với 30% số test có T = 2; n ≤ 20;
  • 20% số điểm tương ứng với 40% số test có T = 3.

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ử A1, A2, …, A_N và hai số nguyên dương U, V (1 ≤ U ≤ V ≤ N). 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 CAU3.INP gồm:

  • Dòng đầu chứa 3 số nguyên dương N, U, V (1 ≤ U ≤ V ≤ N ≤ 105).
  • Dòng thứ hai chứa dãy số nguyên A gồm N phần tử A1, A2, …, A_N (|Ai| ≤ 109, 1 ≤ i ≤ N).

Kết quả: Ghi ra file CAU3.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ụ:

CAU3.INPCAU3.OUT
6 2 2
-2 3 1 2 5 4
9
5 2 3
-4 3 -2 -6 5
1

Ràng buộc:

  • 50% số điểm tương ứng với 50% số test có U = V;
  • 50% số điểm tương ứng với 50% số test không có ràng buộc gì thêm.

Có một cửa hàng cho thuê N thiết bị âm thanh. Để thuê hết N thiết bị, khách hàng có thể chia chúng thành nhiều nhóm, trong mỗi nhóm được tính tiền theo một trong hai chính sách sau:

  • Nếu trong nhóm đó thuê từ 3 thiết bị trở lên thì sẽ được miễn phí “1 thiết bị” có giá nhỏ nhất.
  • Nếu trong nhóm đó thuê ít hơn 3 thiết bị thì tất cả thiết bị của nhóm đó đều được giảm giá q%.

Dữ liệu: Vào từ file CAU4.INP gồm:

  • Dòng đầu tiên chứa 2 số nguyên dương N, q (N ≤ 106, q < 100) lần lượt là số lượng thiết bị và mức giảm giá.
  • Dòng tiếp theo chứa N số nguyên dương A1, A2, A3, …, A_N (Ai ≤ 106, Ai chia hết cho 100) lần lượt là số tiền cần phải bỏ ra để thuê của các thiết bị.

Kết quả: Ghi ra file CAU4.OUT một số là tổng số tiền ít nhất để thuê hết N thiết bị.

Ví dụ:

CAU4.INPCAU4.OUT
6 10
1000 100 900 100 800 100
2100

Giải thích: Ở test ví dụ ta chia làm 2 nhóm. Nhóm 1 gồm 3 thiết bị có giá 100, 100, 100. Nhóm 2 gồm 3 thiết bị có giá 1000, 900, 800. Tổng số tiền để thuê 6 thiết bị sẽ là 100 + 100 + 1000 + 900 = 2100 (vì nhóm 1 được miễn 1 thiết bị có giá 100, nhóm 2 được miễn 1 thiết bị có giá 800).

Ràng buộc:

  • 20% số điểm tương ứng với 20% số test có N ≤ 3, 100 ≤ Ai ≤ 1000;
  • 80% số điểm còn lại tương ứng với 80% số test không có ràng buộc gì thêm.

--- HẾT ---