You are on page 1of 6

test

Hanoi, Sep 21, 2022

Problem A. Tập hợp


Input file: standard input
Output file: standard output
Time limit: 1 second
Memory limit: 256 megabytes

Cho tập hợp S ban đầu rỗng. Bạn hãy thực hiện các loại truy vấn sau:

• 1 x: Thêm x vào S.

• 2 x: Xóa x khỏi S.

• 3: In ra phần tử nhỏ nhất của S.

• 4: In ra phần tử lớn nhất của S.

• 5 x: In ra phần tử nhỏ nhất của S mà không nhỏ hơn x.

• 6 x: In ra phần tử lớn nhất của S mà không lớn hơn x.

Ở truy vấn loại 1, nếu x đã có sẵn trong S, bạn không cần thêm gì cả. Tương tự đối với truy vấn loại 2.
Ở các truy vấn 3, 4, 5, 6, nếu không tồn tại phần tử nào thỏa mãn, in ra "EMPTY".

Input
Dòng đầu gồm một số nguyên dương q (2 ≤ q ≤ 105 ) — số truy vấn bạn cần thực hiện.
q dòng tiếp theo, mỗi dòng chứa một truy vấn thuộc một trong các loại ở trên. Giá trị tuyệt đối của x
trong các truy vấn loại 1, 2, 5, 6 không vượt quá 109 .
Dữ liệu đảm bảo tồn tại ít nhất một trong các loại truy vấn loại 3, 4, 5 hoặc 6.

Output
Với mỗi truy vấn loại 3, 4, 5 hoặc 6, in ra một dòng là kết quả tương ứng.

Example
standard input standard output
7 3
1 3 -6
3 -6
1 -6 EMPTY
6 0
3
2 -6
5 4

Page 1 of 6
test
Hanoi, Sep 21, 2022

Problem B. Số lớn
Input file: standard input
Output file: standard output
Time limit: 1 second
Memory limit: 256 megabytes

Cho dãy a1 , a2 , . . . , an . Với mỗi i thoả mãn 1 ≤ i < n, tìm aj lớn nhất sao cho i < j ≤ n và aj ≤ ai . Nếu
không tồn tại thì in ra 0.

Input
Dòng đầu chứa số nguyên n (1 ≤ n ≤ 105 ).
Dòng thứ hai chứa n số nguyên a1 , a2 , . . . , an (1 ≤ ai ≤ 109 ).

Output
In ra n − 1 số, số thứ i là aj lớn nhất sao cho i < j ≤ n và aj ≤ ai . Nếu không tồn tại thì in ra 0.

Example
standard input standard output
5 4 0 2 2
5 1 4 2 2

Page 2 of 6
test
Hanoi, Sep 21, 2022

Problem C. Hộp kẹo


Input file: standard input
Output file: standard output
Time limit: 0.5 seconds
Memory limit: 64 megabytes

Mùng một Tết, Phong được mẹ lì xì n hộp kẹo. Các hộp kẹo được đánh số từ 1 đến n, xếp từ trái sang
phải, số kẹo trong từng hộp lần lượt là a1 , a2 , . . . , an .
Phong rất thích ăn đồ ngọt nên cậu ta bắt đầu mở hộp ra ăn ngay. Ngoài ra, để cho thêm phần may
mắn trong năm mới, sau khi ăn xong, hai hộp kẹo liên tiếp bất kì phải có tổng số kẹo không vượt quá x.
Dù vậy, Phong không muốn ăn quá nhiều (vì sợ bố mắng chăng?) nên cậu ta muốn tìm chiến thuật ăn
ít kẹo nhất.
Khổ nỗi, Phong lại không giỏi cả toán lẫn tin. Là một người bạn tốt, hãy giúp Phong tìm số lượng kẹo
cần ăn ít nhất trong chiến thuật tối ưu nhé.

Input
Dòng đầu gồm hai số nguyên n, x (2 ≤ n ≤ 105 , 0 ≤ x ≤ 109 ).
Dòng thứ hai gồm n số nguyên a1 , a2 , . . . , an (0 ≤ ai ≤ 109 ).

Output
In ra trên một dòng là số kẹo ít nhất cần ăn.

Examples
standard input standard output
3 3 1
2 2 2
6 1 11
1 6 1 2 0 4

Note
Ở ví dụ thứ nhất, Phong sẽ ăn 1 viên kẹo trong hộp thứ hai. Số kẹo trong mỗi hộp trở thành (2, 1, 2).
Ở ví dụ thứ hai, Phong sẽ ăn 6 viên trong hộp thứ hai, 2 trong hộp thứ tư, và 3 trong hộp thứ 6. Số kẹo
trong mỗi hộp trở thành (1, 0, 1, 0, 0, 1).

Page 3 of 6
test
Hanoi, Sep 21, 2022

Problem D. Xây trường (v1)


Input file: standard input
Output file: standard output
Time limit: 1 second
Memory limit: 256 megabytes

Trên trục số có n hộ gia đình, hộ thứ i sống tại vị trí có toạ độ ai . Mỗi gia đình có 1 đứa trẻ trong tuổi
đến trường. Nhà nước muốn xây một ngôi trường cho các hộ gia đình. Để việc đi lại được tối ưu, nhà vua
muốn đặt vị trí ngôi trường sao cho trung bình quảng đường cần đi của mỗi đứa trẻ là nhỏ nhất có thể.
Hãy giúp nhà vua tìm trung bình quãng đường cần đi nhỏ nhất có thể, và số cách chọn vị trí thoả mãn.

Input
Dòng đầu chứa số nguyên n (1 ≤ n ≤ 105 ).
Dòng thứ hai chứa n số nguyên a1 , a2 , . . . , an (|ai | ≤ 109 ).

Output
In ra trên một dòng hai số, số thứ nhất là quãng đường trung bình cần đi nhỏ nhất có thể, số thứ hai
là số cách chọn vị trí thoả mãn. Kết quả cho quãng đường trung bình được coi là chính xác nếu sai số
tuyệt đối hoặc tương đối không vượt quá 10−6 .

Example
standard input standard output
4 1.000000 2
1 4 2 3

Page 4 of 6
test
Hanoi, Sep 21, 2022

Problem E. Hỗn hợp


Input file: standard input
Output file: standard output
Time limit: 1 second
Memory limit: 256 megabytes

Phòng thí nghiệm trường X có n loại dung dịch được đánh số từ 1 đến n, mỗi loại có vô số bình. Một
bình dung dịch thuộc loại thứ i có khối lượng ai gram(s) (không kể khối lượng bình).
Alice có một bình chứa một hỗn hợp m gram(s). Alice có thể đổ dung dịch trong bình thuộc loại bất kì
vào hỗn hợp hiện có, nhưng để đảm bảo an toàn, khối lượng của dung dịch đổ vào không vượt quá khối
lượng của hỗn hợp hiện có. Hãy tìm số lần đổ ít nhất để nhận được hỗn hợp ít nhất k gram(s), biết rằng
khi đổ dung dịch vào hỗn hợp thì khối lượng hỗn hợp tăng thêm một lượng đúng bằng khối lượng dung
dịch đổ vào.

Input
Dòng đầu chứa số nguyên T (1 ≤ T ≤ 100) — số bộ dữ liệu.
Dòng đầu của mỗi bộ dữ liệu chứa ba số nguyên n, m, k (1 ≤ n ≤ 2 × 105 ; 1 ≤ m, k ≤ 109 ).
Dòng thứ hai của mỗi bộ dữ liệu chứa n số nguyên a1 , a2 , . . . , an (1 ≤ ai ≤ 109 ).

Output
Với mỗi bộ dữ liệu, in ra trên một dòng một số nguyên là số lần đổ ít nhất tìm được, hoặc −1 nếu không
tìm được cách đổ nào thoả mãn.

Example
standard input standard output
1 5
3 2 20
1 2 4

Page 5 of 6
test
Hanoi, Sep 21, 2022

Problem F. Exercise
Input file: standard input
Output file: standard output
Time limit: 1 second
Memory limit: 256 megabytes

Trong giờ thể dục, thầy giáo cho n học sinh xếp thành hàng, từ trái sang phải học sinh thứ i cao ai cm.
Để thực hiện bài thể dục, thầy giáo muốn chia hàng thành một số tổ, mỗi tổ bao gồm một số học sinh
đứng liên tiếp, mỗi học sinh thuộc đúng một tổ. Để bài thể dục được chỉn chu, trừ tổ đứng đầu hàng ra,
học sinh cao nhất của mỗi tổ phải không thấp hơn học sinh cao nhất của tổ đứng ngay bên trái tổ đó.
Là một người đảm nhận việc dạy chuyên toán và chuyên thể dục, thầy giáo muốn biết: có bao nhiêu cách
chia tổ để bài thể dục được chỉn chu? Hai cách chia tổ được coi là khác nhau nếu tồn tại một cặp học
sinh cùng tổ trong cách này nhưng khác tổ trong cách kia.
Vì số cách chia tổ có thể rất lớn, hãy in ra kết quả modulo 109 + 7.

Input
Dòng đầu chứa số nguyên n (1 ≤ n ≤ 105 ) — số học sinh.
Dòng thứ hai chứa n số nguyên a1 , a2 , . . . , an (1 ≤ ai ≤ 109 ) — chiều cao từng học sinh.

Output
In ra một số nguyên là số cách chia tổ modulo 109 + 7.

Scoring

• Subtask 1 (20 điểm): n ≤ 20.

• Subtask 2 (20 điểm): n ≤ 100.

• Subtask 3 (20 điểm): n ≤ 1000.

• Subtask 4 (20 điểm): ai ≤ 100.

• Subtask 5 (20 điểm): Không có ràng buộc gì thêm.

Example
standard input standard output
5 8
2 3 2 1 3

Page 6 of 6

You might also like