You are on page 1of 3

THPT CHUYÊN THOẠI NGỌC HẦU ĐỀ THI CHỌN ĐỘI TUYỂN

TỔ TIN HỌC HỌC SINH GIỎI DỰ THI CẤP TỈNH


NĂM HỌC 2022 - 2023
Ngày thi: 02/02/2023
Thời gian 150 phút

TỔNG QUAN BÀI THI


Tên bài Tên file File input File output Điểm

Bài 1 Dãy số có tổng lớn nhất Seq.cpp Seq.inp Seq.out 6

Bài 2 Even subsequences Evensub.cpp Evensub.inp Evensub.out 7

Bài 3 Tổng trung vị Medsum.cpp Medsum.inp Medsum.out 7

Bài 1. Dãy số có tổng lớn nhất

Cho dãy số gồm n số nguyên a1, a2, …, an. Một đoạn con của dãy đã cho là dãy ai,…,aj (1 ≤
i ≤ j ≤ n), dãy có độ dài (j-i+1) và có trọng số bằng tổng (ai+…+aj).
Yêu cầu: Tìm hai đoạn con không có phần tử chung, mỗi đoạn có độ dài là một số chia hết cho 3
và tổng trọng số của hai đoạn con là lớn nhất.
Dữ liệu vào từ file Seq.inp gồm:
Dòng đầu ghi số nguyên n (n≥6);
Dòng thứ hai ghi n số nguyên a1, a2,…,an (|𝑎𝑖 |≤109).
Kết quả ghi ra file Seq.out gồm duy nhất một số là tổng trọng số của hai đoạn con tìm được.
Ví dụ:
Seq.inp Seq.out
11 5
-1 3 -1 -9 -1 1 1 1 1 1 -9
Giới hạn:
 Có 30% số test có n ≤ 20;
 Có 30% số test có n ≤ 200;
 Có 20% số test khác có n ≤ 2000;
 Có 20% số test còn lại có n ≤ 200000.
Bài 2. Even subsequences
Hôm nay Bờm mới được học về dãy số, Bờm thấy chúng rất thú vị, nên bài tập thầy cho về
nhà làm Bờm đều cố gắng làm hết. Tuy nhiên đến bài cuối cùng thì Bờm nghĩ mãi không ra, và
Bờm quyết định đi ngủ và đợi ngày mai hỏi các bạn thi HSG Olympic truyền thống 30.04.

Bài toán cuối cùng của Bờm có phát biểu như sau: cho dãy số 𝑎𝑖 có 𝑛 phần tử đánh số từ 1
đến 𝑛, đếm xem với dãy đã cho có bao nhiêu dãy con liên tiếp có chênh lệch của phần tử lớn
nhất và phần tử nhỏ nhất là một số chẵn. Hãy giúp Bờm giải quyết bài toán trên.
Dữ liệu vào từ file EVENSUB.INP:

Dòng đầu tiên chứa số nguyên 𝑛 (1 ≤ n ≤ 105 ).


Dòng thứ hai chứa 𝑛 số nguyên 𝑎𝑖 (1 ≤ 𝑎𝑖 ≤ 109 ).
Kết quả: Ghi ra file EVENSUB.OUT một số nguyên duy nhất là số dãy con liên tiếp có chênh
lệnh giữa số lớn nhất và số nhỏ nhất là một số chẵn.

Ví dụ:
EVENSUB.INP EVENSUB.OUT

5 11
45263

9 17
436843516

Giới hạn:
 Có 40% số điểm có 𝑛 ≤ 1000
 Có 30% số điểm có 1 ≤ 𝑎𝑖 ≤ 3
 Có 30% số điểm còn lại không có ràng buộc gì thêm.
Bài 3. Tổng trung vị
Cho N dãy số không giảm A1, A2, …, AN, mỗi dãy gồm L số nguyên (dãy số được gọi là
không giảm nếu mỗi phần tử đứng sau là lớn hơn hoặc bằng phần tử đứng trước). Xét hai dãy Ai
và Aj (1≤ i, j ≤ N), ta gọi dãy gộp (ký hiệu là Aij) của hai dãy Ai, Aj là dãy gồm tất cả 2L phần tử
của hai dãy Ai, Aj được sắp xếp theo thứ tự không giảm và phần tử đứng ở vị trí thứ L trong dãy
gộp được gọi là phần tử trung vị của nó.
Ví dụ: Xét hai dãy số
Ai = (1 3 4 5 6); Aj = (0 1 5 6 7).
Khi đó dãy gộp Aij từ hai dãy đã cho là
0113455667
có phần tử trung vị là 4.

Yêu cầu: Tính tổng của tất cả các phần tử trung vị của tất cả các dãy gộp Aij với 1≤ i < j ≤ N.

Dữ liệu vào từ file văn bản MEDSUM.INP:


Dòng đầu tiên chứa hai số N và L (2 ≤ N ≤ 200, 1 ≤ L ≤ 20000);
Dòng thứ i trong số N dòng tiếp theo chứa L số nguyên là các phần tử của dãy thứ i trong
số N dãy đã cho. Giả thiết là các phần tử của các dãy số là các số nguyên có trị tuyệt đối
không vượt quá 109.

Hai số liên tiếp trên cùng một dòng trong file dữ liệu được ghi cách nhau bởi ít nhất một
dấu cách.
Kết quả: Ghi ra file văn bản MEDSUM.OUT giá trị  mod 109 (là phần dư trong phép
chia  cho 109), trong đó  là tổng của tất cả các phần tử trung vị của tất cả các dãy gộp Aij với
1≤ i < j ≤ N.

Ví dụ:

MEDSUM.INP MEDSUM.OUT
36 8
123456
345678
001122

Giới hạn:
 Có 50% số số điểm co số test thoả mãn: 2 ≤ N ≤ 100, 1 ≤ L ≤ 300.
 Có 50% số điểm còn lại không có ràng buộc gì thêm.

Hết
(Thí sinh không được phép sử dụng tài liệu)

You might also like