Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

Bài 1. Chính lập phương.

Một số nguyên dương 𝑁 được gọi là số chính lập phương nếu 𝑁 có thể biểu diễn
dưới dạng 𝑥 2 và 𝑦 3 .
Yêu cầu: Cho số nguyên dương 𝑁, hãy xác định xem 𝑁 có phải số chính lập
phương hay không.
Input:
• Dòng đầu tiên gồm số nguyên dương 𝑇 (𝑇 ≤ 102 ) - ứng với số test.
• 𝑇 dòng tiếp theo, mỗi dòng gồm số nguyên dương 𝑁.
Output:
• Đối với mỗi test, in ra “Yes” nếu 𝑁 là số chính lập phương, ngược lại in ra
“No”.
Sample Input Sample Output
3 Yes
1 No
4 Yes
64

Giới hạn:
• Subtask 1[80% số test]: 𝑁 ≤ 106 .
• Subtask 2[20% số test]: 𝑁 ≤ 1018 .
Bài 2. Đọc xâu.
Hôm nay, bạn Lâm được cô giáo dạy về xâu kí tự. Cô giáo đưa ra một xâu 𝑆 gồm
chữ cái tiếng anh in thường và Lâm đã làm quen được tất cả các kí tự trong xâu 𝑆.
Vì thấy hứng thú với xâu kí tự nên Lâm về đến nhà liền lấy một tờ báo lên đọc thử.
Tờ báo gồm 𝑁 xâu kí tự 𝑇1 , 𝑇2 , … , 𝑇𝑁 . Lâm chỉ có thể đọc được những xâu 𝑇𝑖 mà
tất cả các kí tự trong xâu 𝑇𝑖 đã được làm quen.
Yêu cầu: Hãy cho biết Lâm có thể đọc được những xâu nào trong 𝑁 xâu
𝑇1 , 𝑇2 , … , 𝑇𝑁 .
Input:
• Dòng đầu tiên gồm xâu kí tự 𝑆.
• Dòng thứ hai gồm số nguyên dương 𝑁 (1 ≤ 𝑁 ≤ 103 ).
• 𝑁 dòng tiếp theo, dòng thứ 𝑖 gồm xâu kí tự 𝑇𝑖 (1 ≤ |𝑇𝑖 | ≤ 102 ).
Output:
• Ở dòng thứ 𝑖, nếu Lâm có thể đọc được 𝑇𝑖 hãy in ra “Yes”, ngược lại in ra
“No”.
Sample Input Sample Output
act Yes
2 No
cat
dog

Giải thích:
Vì Lâm được học xâu “act” nên đã làm quen được 3 kí tự: ‘a’, ‘c’, ‘t’. Vì thế Lâm
đọc được xâu “cat”.
Giới hạn:
• Subtask 1[80% số test]: |𝑆| ≤ 102 .
• Subtask 2[20% số test]: |𝑆| ≤ 106 .

Bài 3. Chiến rồng.


Trong một trò chơi điện tử, bạn có 𝑁 chiến binh đánh số từ 1 đến 𝑁. Chiến binh
thứ 𝑖 có sức mạnh là 𝑎𝑖 . Bạn phải vượt qua được 𝑀 cuộc chiến mới có thể hoàn
thành trò chơi.
Ở cuộc chiến thứ 𝑖 sẽ xuất hiện một con rồng có sức phòng thủ là 𝑥𝑖 và sức tấn
công là 𝑦𝑖 . Bạn chỉ được cử 1 chiến binh ra tấn công con rồng và 𝑁 − 1 chiến binh
còn lại phòng thủ. Bạn sẽ dành chiến thắng ở cuộc chiến này nếu như:
• Sức mạnh của chiến binh tấn công lớn hơn hoặc bằng 𝑥𝑖 .
• Tổng sức mạnh của 𝑁 − 1 chiến binh phòng thủ lớn hơn hoặc bằng 𝑦𝑖 .
Trước khi bắt đầu một cuộc chiến, bạn được phép tiêu 1 đồng xu để nâng cấp 1 sức
mạnh cho 1 chiến binh bất kỳ. Tuy nhiên khi cuộc chiến kết thúc sức mạnh của các
chiến binh lại trở về như ban đầu.
Yêu cầu: Tại mỗi cuộc chiến, hãy tính số lượng xu tối thiểu bạn phải bỏ ra để dành
chiến thắng.
Input:
• Dòng đầu tiên gồm số nguyên dương 𝑁 (1 ≤ 𝑁 ≤ 2 ∗ 105 ).
• Dòng thứ hai gồm 𝑁 số nguyên dương 𝑎1 , 𝑎2 , … , 𝑎𝑁 (1 ≤ 𝑎𝑖 ≤ 106 ).
• Dòng thứ ba gồm số nguyên dương 𝑀.
• 𝑀 dòng tiếp theo, dòng thứ 𝑖 gồm hai số nguyên dương 𝑥𝑖 , 𝑦𝑖 (1 ≤ 𝑥𝑖 , 𝑦𝑖 ≤
1012 ).
Output:
• Đối với cuộc chiến thứ 𝑖, in ra số lượng xu tối thiểu bạn phải bỏ ra để dành
chiến thắng.
Sample Input Sample Output
4 1
3623 2
5 4
3 12 0
79 2
4 14
1 10
87

Giải thích test 1:


• Tại cuộc chiến đầu tiên, bạn sử dụng 1 đồng xu để tăng 1 sức mạnh cho
chiến binh thứ 3. Như vậy sức mạnh các chiến binh lúc này là [3,6,3,3] và
bạn sẽ cử chiến binh đầu tiên tấn công con rồng.
• Tại cuộc chiến thứ hai, bạn sử dụng 2 đồng xu để tăng 1 sức mạnh cho chiến
binh thứ hai và thứ ba. Như vậy sức mạnh các chiến binh lúc này là [3,7,3,3]
và bạn sẽ cử chiến binh thứ hai tấn công con rồng.
Giới hạn:
• Subtask 1[40% số test]: 𝑀 = 1.
• Subtask 3[60% số test]: 𝑀 ≤ 2 ∗ 105 .
Bài 4. Đánh giá ẩm thực.
Bạn là một đầu bếp thích chế biến các món ăn ngon và đăng lên mạng xã hội. Ngày
hôm nay bạn chế biến được 𝑁 món ăn. Món ăn thứ 𝑖 sau khi đăng lên mạng xã hội
nhận được điểm đánh giá là 𝑎𝑖 . Bạn nhận thấy một số món ăn nhận được điểm
đánh giá không tốt (𝑎𝑖 < 0) vì vậy bạn quyết định xóa 1 số bài đăng. Trang mạng
xã hội bạn sử dụng có 𝑀 chức năng. Chức năng thứ 𝑗 cho phép xóa 1 bài đăng
trong các món ăn từ 𝐿𝑗 đến 𝑅𝑗 và chức năng này cần chi trả 𝐶𝑗 đồng. Bạn có thể sử
dụng một chức năng nhiều lần nếu mỗi lần bạn trả đủ chi phí.
Yêu cầu: Hiện tại bạn đang có 𝐾 đồng, hãy thực hiện xóa một số bài đăng sao cho
tổng điểm đánh giá hôm nay của bạn là tối đa.
Input:
• Dòng đầu tiên gồm số nguyên dương 𝑇 (1 ≤ 𝑇 ≤ 5) - ứng với số test.
• Đối với mỗi test:
o Dòng đầu tiên gồm 3 số nguyên dương 𝑁, 𝐾, 𝑀 (1 ≤ 𝐾 ≤ 500).
o Dòng thứ hai gồm 𝑁 số nguyên 𝑎1 , 𝑎2 , … , 𝑎𝑁 (−109 ≤ 𝑎𝑖 ≤ 109 ).
o 𝑀 dòng tiếp theo, dòng thứ 𝑗 gồm 3 số nguyên dương 𝐿𝑗 , 𝑅𝑗 , 𝐶𝑗 (1 ≤ 𝐿𝑗 ≤
𝑅𝑗 ≤ 𝑁, 1 ≤ 𝐶𝑗 ≤ 200).
Output:
• Đối với mỗi test, in ra tổng điểm đánh giá tối đa.
Sample Input Sample Output
1 5
5 10 5
10 -2 -5 7 -10
115
2 4 10
4 4 12
3 4 10
1 5 15

Giải thích test:


Bạn sử dụng chức năng thứ 3 với chi phí là 10 đồng để xóa bài đăng của món ăn
thứ 3. Như vậy tổng điểm đánh giá của bạn sẽ là: 10 − 2 + 7 − 10 = 5.
Giới hạn:
• Subtask 1[20% số test]: 𝑁, 𝑀 ≤ 103 .
• Subtask 2[30% số test]: 𝐶1 = 𝐶2 = ⋯ = 𝐶𝑀 .
• Subtask 3[50% số test]: 𝑁, 𝑀 ≤ 105 .

You might also like