You are on page 1of 2

Trường THPT Chuyên CHV MÔN TIN HỌC LỚP 11-12

Thời gian làm bài 180 phút


Đề thi đề xuất
(Đề gồm có 03 bài trong 02 trang)

Tổng quan đề thi:


Tên file Tên file Tên file Thời
STT Tên bài Điểm
chương trình dữ liệu vào Kết quả ra gian
Bài 1 GÓI DỊCH VỤ PACKAGES.* PACKAGES.INP PACKAGES.OUT 6 1 giây
THANH
Bài 2 PAY.* PAY.INP PAY.OUT 7 1 giây
TOÁN
ĐIỂM
Bài 3 DOTS.* DOTS.INP DOTS.OUT 7 1 giây
NGUYÊN
Chú ý: Dấu '*' được thay thế bởi PAS hoặc CPP của ngôn ngữ lập trình tương ứng là Pascal
hoặc C.

Bài 1: Gói dịch vụ (6 điểm)


Những năm gần đây, mạng 4G đã được đưa vào khai thác, mọi người có thể dễ dàng truy
cập Internet tốc độ cao ở mọi lúc và mọi nơi. Tuy vậy chi phí không phải rẻ lắm, cứ mỗi 1MB tải
về người phải trả 1 đơn vị thanh toán. Với mục đích khuyến khích sử dụng rộng rãi 4G nhà
mạng đưa ra 2 gói dịch vụ khuyến mãi trả trước. Với gói thứ nhất cứ mỗi lần dùng có thể tải về p
MB với giá q đơn vị thanh toán, với gói thứ 2 – tải về u MB với giá v đơn vị thanh toán (p > q, u
> v). Người dùng có thể số lượng tùy ý các gói dịch vụ. Mỗi gói dịch vụ chỉ có tác dụng trong
một tháng kể từ ngày mua.
Bob có nhu cầu tải về n MB và muốn tải về với chi phí ít nhất. Có thể một gói dịch vụ
nào đó được mua và dùng không hết khả năng cho phép cũng không sao, miễn là tổng chi phí
phải ít nhất. Ví dụ, với n = 35, p = 10, q = 9, u = 20, v = 17, Bob sẽ mua một gói dịch vụ thứ
nhất, một gói dịch vụ thứ hai, tải về 30MB theo 2 gói dịch vụ đã mua, còn là 5MB – tải về theo
chế độ chung. Như vậy tổng chi phí sẽ là 9 + 17+ 5 = 31.
Cho n, p, q, u, v. Hãy xác định tổng chi phí nhỏ nhất cần thiết để tải về n MB.
Dữ liệu: Vào từ file văn bản PACKAGES.INP chứa 5 số nguyên dương n, p, q, u, v, mỗi số trên
một dòng và có giá trị không vượt quá 5×105.
Kết quả: Đưa ra file văn bản PACKAGES.OUT một số nguyên – chi phí nhỏ nhất tìm được.
Ví dụ:
PACKAGES.INP PACKAGES.OUT
35 31
10
9
20
17
Bài 2: Thanh toán (7 điểm)

-1-
Siêu thị bán hàng qua mạng Pacific có rất nhiều chi nhánh phục vụ và có nhiều phương
tiện giao hàng tiên tiến nhanh chóng bằng thiết bị bay tự động, ngoài ra siêu thị thường có các
chương trình khuyến mãi hấp dẫn vì vậy thu hút được một số lượng lớn khách hàng.
Alice vào trang Web của cửa hàng, chọn được n món hàng đưa vào danh sách các thứ sẽ
mua, món hàng thứ i có giá ai, i = 1 ÷ n. Khi Alice chuẩn bị chuyển danh sách hàng đã chọn vào
giỏ mua thì xuất hiện thông báo về một chương trình khuyến mãi mới. Nếu giỏ hàng mua của
khách có từ 10 đến 19 mặt hàng thì món hàng giá thấp nhất trong số đó sẽ được nhận miễn phí,
nếu giỏ hàng mua có từ 20 đến 29 mặt hàng thì hai món hàng giá thấp nhất trong số đó sẽ được
nhận miễn phí, nếu giỏ hàng mua có từ 30 đến 39 mặt hàng thì ba món hàng giá thấp nhất trong
số đó sẽ được nhận miễn phí . . . Tóm lại, nếu số lượng hàng mua tăng thêm 10 thì lại được miễn
phí thêm một mặt hàng trong số các hàng có giá trị thấp nhất.
Alice không thể thay đổi trình tự hàng trong danh sách đã đăng ký mua nhưng có thể cắt
danh sách thành các phần, mỗi phần gồm một dãy liên tiếp các hàng trong danh sách và bỏ vào
một giỏ hàng riêng để nhận được chính sách ưu đãi đã nêu với giỏ hàng. Là một người giỏi tính
toán, Alice nhanh chóng hoàn thành các giỏ đặt hàng để tổng chi phí phải trả cho n mặt hàng
muốn mua là nhỏ nhất.
Hãy xác định số tiền mà Alice sẽ phải thanh toán.
Dữ liệu: Vào từ file văn bản PAY.INP:
Dòng đầu tiên chứa một số nguyên n (1 ≤ n ≤ 105),
Dòng thứ 2 chứa n số nguyên a1, a2, . . ., an (1 ≤ ai ≤ 109, i = 1 ÷ n).
Kết quả: Đưa ra file văn bản PAY.OUT một số nguyên – số tiền ít nhất cần thanh toán.
Ví dụ:
PAY.INP PAY.OUT
12 92
1 1 10 10 10 10 10 10 9 10 10
10

Bài 3: Điểm nguyên (7 điểm)


Cho đoạn thẳng trên mặt phẳng có tọa độ các điểm đầu,
cuối là nguyên và là (x1, y1) và (x2, y2). Hãy xác định số điểm có
tọa độ nguyên nằm trên đoạn thẳng.
Dữ liệu: Vào từ file văn bản DOTS.INP gồm một dòng chứa 4 số
nguyên x1 , y1, x2 và y2, các số có giá trị tuyệt đối không quá 108.
Kết quả: Đưa ra file văn bản DOTS.OUT một số nguyên – số
điểm có tọa độ nguyên nằm trên đoạn thẳng đã cho.
Ví dụ:
DOTS.INP DOTS.OUT
-1 -2 2 4 4

-------------- Hết ----------------

-2-

You might also like