Bài 2. (7,0 điểm) SẮP XẾP KIỆN HÀNG
Tại một bến cảng có n kiện hàng cần được xếp xuống tàu để vận chuyển. Các kiện hàng
được đánh số từ 1 đến n theo thứ tự nó được gửi đến kho hàng, kiện hàng thứ i có khối lượng
a i . Người ta lần lượt xếp từng kiện hàng theo thứ tự từ kiện hàng thứ nhất, đến kiện hàng thứ
hai, cho đến khi không thể xếp được nữa. Biết rằng tàu hàng có trọng tải là M và các kiện
hàng xếp xuống không được vượt quá trọng tải của nó. Những kiện hàng không xếp được
phải để lại cảng chờ chuyến tàu tiếp theo.
Do yêu cầu đặc biệt, kiện hàng thứ k cần phải được vận chuyển trong thời gian sớm nhất,
vì vậy ban quản lý càng quyết định chọn một số kiện hàng để lại cảng (thay vì xếp lên chuyến
tàu này) nhường chỗ cho kiện hàng k được ưu tiên xếp xuống tàu.
Yêu cầu: Hãy cho biết ban quản lý cần phải chọn ít nhất bao nhiêu kiện hàng để lại cảng
thay vì chúng được xếp lên tàu để nhường chỗ cho kiện hàng k?
Dữ liệu vào: Cho từ tệp KIENHANG.INP gồm hai dòng:
Dòng thứ nhất ghi ba số nguyên dương n, M, k (1 k n 10 5 , 1 M
10 9 ).
Dòng thứ hai ghi n số nguyên dương a 1 , a 2 , , a n (1 a i M, i= 1 n).
Kết quả: Ghi vào tệp văn bản KIENHANG.OUT gồm một dòng ghi một số nguyên là số
kiện hàng ít nhất phải để lại cảng thay vì chúng được xếp lên tàu để nhường chỗ cho kiện
hàng k.
C++