BANK - Xếp hàng gửi tiền
Có n khách hàng đang xếp hàng gửi tiền vào ngân hàng X. Số tiền mà mỗi khách hàng muốn
gửi lần lượt là a1, a2,..., an. Với mỗi người gửi tiền, thư ký ngân hàng phải tốn thời gian là 1
phút để hoàn tất thủ tục hồ sơ. Các khách hàng rất bận và họ chỉ có thể chờ trong một
khoảng thời gian nào đó mà thơi, sau khoảng thời gian đó họ sẽ đi và không gửi tiền nữa.
Thời gian mà các khách hàng có thể chờ lần lượt là t1, t2, ..., tn (tính theo phút). Chủ ngân
hàng rất là tham lam, ơng ta ln muốn làm sao để có được nhiều tiền gửi nhất. Bạn hãy giúp
thư ký lựa chọn thứ tự gửi tiền của các khách hàng sao cho số tiền ngân hàng có được là
nhiều nhất (có thể phải chấp nhận từ chối một số khách hàng để đạt được mục đích).
Dữ liệu nhập:
- Dịng thứ nhất là số ngun n (1 ≤ n ≤ 10.000)
- Trong n dòng tiếp theo, dòng thứ i gồm hai số nguyên ai và ti (1 ≤ ai ≤ 105, 0 ≤ ti ≤ 1.000).
Dữ liệu xuất:
- Là số nguyên xác định tổng số tiền nhiều nhất có thể thu được.
Ví dụ
input
4
10 1
20 2
5 2
12 0
output
42
input
3
10 0
20 1
5 1
output
30
PI - Đếm số nguyên tố
Đếm xem có bao nhiêu số nguyên tố trong đoạn [L;R]
Dữ liệu nhập:
- Một dòng duy nhất gồm 2 số L,R( 2≤ L < R ≤ 2.109,R-L ≤ 1000000)
Dữ liệu xuất:
- Ghi số lượng số nguyên tố trong đoạn [L;R]
Ví dụ
input
2 10
output
4
SMACA - Thẻ thơng minh (OLP Khơng chun
2011)
Tập đồn Smart IT quyết định ứng dụng thẻ thông minh trong việc quản lý an ninh. Mỗi
nhân viên của Smart IT được cấp một thẻ thông minh riêng, trong thẻ chứa một dãy số bí mật
gồm m số nguyên dương {k1, k2, … km}.
Trong nhà điều hành của SmartIT có n căn phòng được đánh số từ 1 đến n. Ở cửa vào
của căn phòng thứ i (1 ≤ i ≤ n) có một đầu đọc thẻ. Khi cần mở cửa phòng, người nhân viên
sẽ đưa thẻ vào đầu đọc thẻ. Nếu thẻ phù hợp với phịng thì cửa sẽ mở.
Trong đầu đọc thẻ ở phịng thứ i có lưu một dãy số nguyên dương {x i1, xi2, …, xim}.
Thẻ phù hợp với phịng thứ i nếu tích k1 × k2 × … × km là bội số của tích xi1 × xi2 × … × xim.
Yêu cầu: Cho biết dãy số bí mật trong thẻ thơng minh và các dãy số trong đầu đọc thẻ của n
căn phòng. Hãy cho biết thẻ thơng minh này có thể dùng để mở được bao nhiêu phòng.
Dữ liệu nhập:
- Dòng đầu tiên chứa hai số nguyên dương m và n (với 1 ≤ m ≤ 100 và 1 ≤ n ≤ 5).
- Dòng thứ hai chứa m số nguyên dương k1, k2, …, km là dãy số bí mật trên thẻ (1 ≤ ki ≤ 109)
- Dòng thứ i trong số n dòng tiếp theo (1 ≤ i ≤ n), mỗi dòng gồm m số nguyên dương xi1, xi2,
…, xim là dãy số trong đầu đọc thẻ tại phòng i (1 ≤ xij ≤ 109)
Dữ liệu xuất:
- Dòng đầu tiên chứa một số ngun C là số lượng những phịng có thể mở cửa được.
- Dòng thứ hai chứa C số nguyên là số thứ tự (theo thứ tự tăng dần) của các phịng mà bạn
có thể mở cửa được, mỗi số cách nhau một khoảng trắng.
Ví dụ
input
3 4
7 10 2011
1 3 5
2 2 7
7 2 5
14 1 2011
output
2
3 4