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

Bảng A 2026 - Thành phố Hồ Chí Minh (Sơ loại)

HỘI THI TIN HỌC TRẺ THÀNH PHỐ HỒ CHÍ MINH Năm 2026

ĐỀ THI VÒNG SƠ LOẠI – BẢNG A (TIỂU HỌC) Thi trên hệ thống chấm bài trực tuyến


BàiTên bàiGiới hạn thời gianGiới hạn bộ nhớ
1Trồng cây1 giây1 GB
2Trò chơi với phân số1 giây1 GB
3Mua sắm1 giây1 GB
4Lấy nước1 giây1 GB

Dữ liệu nhập từ bàn phím (standard input), kết quả ghi ra màn hình (standard output).

Để làm cho thành phố xanh hơn và đẹp hơn, bác thị trưởng cho trồng cây dọc theo một con đường lớn. Con đường dài x km. Cứ mỗi 10 m thì trồng 1 cây.

Biết rằng không trồng cây ở vị trí 0 m, nghĩa là không trồng cây ngay tại đầu con đường. Cây đầu tiên sẽ được trồng ở vị trí 10 m, cây tiếp theo ở vị trí 20 m, rồi 30 m, …

Yêu cầu: Hãy viết chương trình tính tổng số cây cần trồng để phủ xanh toàn bộ tuyến phố đó.

Dữ liệu vào: Một số nguyên dương duy nhất là số x (1 ≤ x ≤ 10⁹) - chiều dài của tuyến đường.

Dữ liệu ra: Một số nguyên duy nhất là tổng số cây cần trồng.

Ví dụ:

InputOutput
121200

Subtasks:

  • Subtask 1 (30% số điểm): x ≤ 10.
  • Subtask 2 (70% số điểm): Không có ràng buộc gì thêm.

Trong một giờ ra chơi, hai bạn nhỏ An và Bình rủ nhau chơi một trò chơi với các phân số. Mỗi bạn lần lượt nghĩ ra và viết lên bảng những phân số dạng aᵢ/bᵢ trong đó aᵢ, bᵢ đều là các số nguyên dương. Chẳng mấy chốc, trên bảng đã có tất cả n phân số để hai bạn cùng quan sát và so sánh.

An đưa ra một thử thách cho Bình: trong tất cả các phân số đã viết, hãy tìm phân số có giá trị lớn nhất nhưng vẫn nhỏ hơn 1. Bình thấy đây là một bài toán khá thú vị nhưng vì số lượng phân số quá nhiều nên Bình tỏ ra rất khó khăn để giải.

Yêu cầu: Hãy viết chương trình tính giúp Bình thực hiện thử thách.

Dữ liệu vào:

  • Dòng đầu tiên chứa số nguyên dương n (1 ≤ n ≤ 10⁴) - số phân số mà An và Bình viết lên bảng.
  • Dòng thứ i trong n dòng tiếp theo, mỗi dòng chứa hai số nguyên dương aᵢ, bᵢ (1 ≤ aᵢ, bᵢ ≤ 10⁶) - mô tả phân số aᵢ/bᵢ mà An và Bình đã viết lên bảng.

Dữ liệu ra:

  • Nếu đáp án của bài toán là phân số a/b, hãy in kết quả theo định dạng a/b, trong đó phân số phải được đưa về dạng tối giản trước khi in.
  • Trường hợp không tồn tại phân số nhỏ hơn 1, hãy in ra -1.

Ví dụ:

InputOutput
5
1 2
3 2
24 30
6 6
7 10
4/5
2
3 2
67 67
-1

Giải thích: Các phân số nhỏ hơn 1 được viết trên bảng là 1/2, 24/30, 7/10. Trong đó phân số 24/30 có giá trị lớn nhất, có dạng tối giản là 4/5.

Để chuẩn bị cho buổi tổng kết cuối năm, cô giáo cần mua một số món quà để vinh danh học sinh có thành tích cao. Tại cửa hàng, cô giáo nhận thấy có N phần quà phù hợp để tặng học sinh, trong đó phần quà thứ i (1 ≤ i ≤ N) có giá cᵢ đồng.

Vì cô giáo muốn nhiều bạn có quà nhất có thể nên cần mua nhiều phần quà nhất. Tuy nhiên cô giáo chỉ có số tiền là S đồng nên tổng giá của các phần quà cô giáo mua không được vượt quá S.

Yêu cầu: Hãy xác định số phần quà lớn nhất mà cô giáo có thể mua.

Dữ liệu vào:

  • Dòng đầu tiên chứa hai số nguyên dương N, S (1 ≤ N ≤ 3 × 10⁵; 1 ≤ S ≤ 10¹⁸) - số phần quà và số tiền của cô giáo.
  • Dòng thứ hai chứa N số nguyên dương c₁, c₂, …, c_N (1 ≤ cᵢ ≤ 10⁹) - giá tiền của các phần quà.

Dữ liệu ra: Một số nguyên duy nhất là số phần quà nhiều nhất mà cô giáo có thể mua được.

Ví dụ:

InputOutput
6 20
8 5 3 10 2 6
4

Giải thích: Cô giáo mua các phần có chỉ số 2, 3, 5, 6.

Subtasks:

  • Subtask 1 (40% số điểm): N ≤ 20.
  • Subtask 2 (60% số điểm): Không có ràng buộc gì thêm.

Trong một buổi học ngoại khóa, cô giáo đưa bốn bạn An, Bình, Cúc và Dũng đến tham quan một chiếc giếng nhỏ ở gần trường. Để bài học trở nên thú vị hơn, cô nghĩ ra một trò chơi quan sát việc lấy nước của các bạn trong nhiều ngày liên tiếp. Theo quy ước của cô giáo:

  • Bạn An sẽ đến giếng lấy nước mỗi a ngày một lần, tức là bạn sẽ đến giếng lấy nước vào các ngày a, 2 × a, 3 × a, …
  • Bạn Bình sẽ đến giếng lấy nước mỗi b ngày một lần, tức là bạn sẽ đến giếng lấy nước vào các ngày b, 2 × b, 3 × b, …
  • Bạn Cúc sẽ đến giếng lấy nước mỗi c ngày một lần, tức là bạn sẽ đến giếng lấy nước vào các ngày c, 2 × c, 3 × c, …
  • Bạn Dũng sẽ đến giếng lấy nước mỗi d ngày một lần, tức là bạn sẽ đến giếng lấy nước vào các ngày d, 2 × d, 3 × d, …

Mỗi ngày, cô giáo quan sát thấy chiếc giếng luôn có sẵn 12 lít nước để chia cho các bạn đến lấy trong ngày hôm đó. Nếu chỉ có một bạn đến, bạn đó sẽ lấy 12 lít nước; nếu có hai bạn đến, mỗi bạn sẽ lấy 6 lít nước; nếu có ba bạn đến, mỗi bạn sẽ lấy 4 lít nước; nếu cả bốn bạn cùng đến, mỗi bạn sẽ lấy 3 lít nước.

Nói cách khác, lượng nước sẽ được chia đều cho các bạn đến lấy nước vào ngày hôm đó.

Cô giáo muốn ghi lại kết quả để xem trong một khoảng thời gian dài, mỗi bạn đã lấy được bao nhiêu nước. Vì số ngày quan sát có thể rất lớn, cô nhờ em viết chương trình giúp tính toán.

Yêu cầu: Sau khi quan sát m ngày, cô giáo đã đánh mất ghi chú về tổng lượng nước mà mỗi bạn đã lấy. Hãy giúp cô giáo tính toán, trong m ngày đầu tiên; mỗi bạn An, Bình, Cúc, Dũng đã lấy bao nhiêu lít nước.

Dữ liệu vào: Một dòng duy nhất chứa năm số nguyên a, b, c, d và m (1 ≤ a, b, c, d ≤ m; 1 ≤ m ≤ 10¹⁵) - tần suất lấy nước của các bạn An, Bình, Cúc, Dũng; và số ngày quan sát của cô giáo.

Dữ liệu ra: Bốn số nguyên, lần lượt là số lít nước mà An, Bình, Cúc, Dũng lấy.

Ví dụ:

InputOutput
2 1 3 4 1024 72 16 8

Giải thích: Ta xét từng ngày từ ngày 1 đến 10:

  • Vào ngày 1, chỉ có Bình đến lấy nước và bạn lấy được 12 lít nước.
  • Vào ngày 2, An và Bình cùng đến lấy nước nên mỗi bạn lấy được 6 lít nước.
  • Vào ngày 3, Bình và Cúc cùng đến lấy nước nên mỗi bạn lấy được 6 lít nước.
  • Vào ngày 4, An, Bình và Dũng cùng đến lấy nước nên mỗi bạn lấy được 4 lít nước.
  • Vào ngày 5, chỉ có Bình đến lấy nước và bạn lấy được 12 lít nước.
  • Vào ngày 6, An, Bình và Cúc cùng đến lấy nước nên mỗi bạn lấy được 4 lít nước.
  • Vào ngày 7, chỉ có Bình đến lấy nước và bạn lấy được 12 lít nước.
  • Vào ngày 8, An, Bình và Dũng cùng đến lấy nước nên mỗi bạn lấy được 4 lít nước.
  • Vào ngày 9, Bình và Cúc cùng đến lấy nước nên mỗi bạn lấy được 6 lít nước.
  • Vào ngày 10, An và Bình cùng đến lấy nước nên mỗi bạn lấy được 6 lít nước.

Cộng lại,

  • An đã lấy 6 + 4 + 4 + 4 + 6 = 24 lít nước.
  • Bình đã lấy 12 + 6 + 6 + 4 + 12 + 4 + 12 + 4 + 6 + 6 = 72 lít nước.
  • Cúc đã lấy 6 + 4 + 6 = 16 lít nước.
  • Dũng đã lấy 4 + 4 = 8 lít nước.

(Bản đề gốc ghi phép cộng của Cúc là “6 + 4 + 6 = 12”, nhầm ở kết quả; kết quả mẫu đúng là 16.)

Subtasks:

  • Subtask 1 (40% số điểm): m ≤ 1000.
  • Subtask 2 (40% số điểm): a = b = c = d.
  • Subtask 3 (20% số điểm): Không có ràng buộc gì thêm.