Cho một đoàn xe gồm n chiếc đi trên một đường một chiều và đoàn xe đã được bố trí theo thứ tự từ
1 đến n. Mỗi một xe trong đoàn có vận tốc là vi và trọng lượng wi.
Khi đi qua một chiếc cầu có trọng tải giới hạn là P thì đoàn xe phải chia thành các nhóm sao cho tổng trọng lượng của mỗi nhóm không quá P (Lưu ý rằng không được đảo thứ tự đoàn xe). Các nhóm phải đi tuần tự có nghĩa là nhóm thứ i chỉđược khởi hành khi mà toàn bộ xe của nhóm thứ i - 1 đã qua cầu. Giả thiết rằng P > wi với ∀i: 1 ≤ i ≤ n.
Rõ ràng khi đó thời gian để một nhóm xe qua cầu phụ thuộc vào xe chậm nhất trong nhóm đó nếu coi như chiều dài cũng như khoảng cách của các xe là không đáng kể.
Hãy tìm cách chia đoàn xe thành các nhóm sao cho thời gian mà đoàn xe sang được cầu là nhỏ
nhất có thểđược.
Dữ liệu: Vào từ file văn bản CARGROUP.INP
• Dòng đầu là 3 số nguyên dương n, P và L (n, P, L ≤ 1000) thể hiện cho số xe, trọng lượng giới hạn của cầu và độ dài của cầu.
• Dòng thứ i trong n dòng kế tiếp gồm 2 số nguyên dương wi và vi (wi, vi ≤ 100)
Kết quả: Ghi ra file văn bản CARGROUP.OUT
• Dòng đầu ghi một số thực là tổng thời gian nhỏ nhất để xe qua cầu, cho phép làm tròn lấy 2 chữ số sau dấu chấm thập phân.
• Dòng kế tiếp gồm các số x1, x2, .., xk thể hiện: nhóm 1 gồm các xe từ 1 đến xe thứ x1, nhóm 2 gồm các xe thứ x1+1 đến xe thứ x2..., nhóm k từ xe thứ x[k - 1] tới x[k]
Các số trên một dòng của Input / Output file ghi cách nhau ít nhất một dấu cách.
Ví dụ: 100 km 40 50 50 70 12 9 49 38 27 19 25 20 20 10 50 70 30 25 50 70 (km / h) P = 100 4h 5h 10h 4h 2h CARGROUP.INP CARGROUP.OUT 10 100 100 40 25 50 20 50 20 70 10 25.00 1 3 6 8 10
052. SỐ LƯỢNG
Cho số nguyên dương n (n ≤ 2 000 000 000). Hãy xác định xem trong phạm vi từ 1 tới n có bao nhiêu số mà trong dạng biểu diễn nhị phân của nó có đúng K chữ số 0 có nghĩa.
Ví dụ: n = 18, k = 3 có 3 số: 1. 8 = 1000
2. 17 = 10001 3. 18 = 10010 3. 18 = 10010
Dữ liệu: Vào từ file văn bản NUMBER.INP, gồm một dòng chứa hai số nguyên N và K cách nhau một dấu cách.
Kết quả:Đưa ra file NUMBER.OUT, ghi số lượng các số tìm được
Ví dụ:
NUMBER.INP NUMBER.OUT