You are on page 1of 2

CƯA MÁY

Một hàng cây gồm 𝑛 cây đánh số từ 1 tới 𝑛, cây thứ 𝑖 có chiều cao ℎ𝑖 . Người ta muốn khai thác gỗ từ
những cây này bằng một máy cưa. Máy cưa vận hành như sau: Trước hết phải thiết lập một độ cao Δ
cho lưỡi cưa, sau đó di chuyển máy cưa qua hàng cây. Mỗi khi máy cưa đi qua cây độ cao ℎ > Δ thì
cây đó bị cưa còn lại chiều cao Δ và người ta lấy được ℎ − Δ mét gỗ từ cây này. Dĩ nhiên những cây
có độ cao ≤ Δ không bị cưa và người ta không lấy được gỗ từ những cây đó.
Yêu cầu: Cho dãy số nguyên dương 𝑚1 , 𝑚2 , … , , 𝑚𝑘 . Với mỗi giá trị 𝑚𝑗 , tìm số nguyên Δ𝑗 lớn nhất sao
cho nếu đặt độ cao của lưỡi cưa là Δ𝑗 thì tổng số mét gỗ khai thác được không ít hơn 𝑚𝑗 (𝑗 =
1,2, … , 𝑘).
Dữ liệu: Vào từ file văn bản SAW.INP
⚫ Dòng 1 chứa hai số nguyên dương 𝑛, 𝑘 ≤ 105
⚫ Dòng 2 chứa 𝑛 số nguyên dương ℎ1 , ℎ2 , … , ℎ𝑛 (∀𝑖: ℎ𝑖 ≤ 106 )
⚫ Dòng 3 chứa 𝑘 số nguyên dương 𝑚1 , 𝑚2 , … , 𝑚𝑘 . (∀𝑗: 𝑚𝑗 ≤ ∑𝑛𝑖=1 ℎ𝑖 )
Kết quả: Ghi ra file văn bản SAW.OUT một dòng 𝑘 số nguyên Δ1 , Δ2 , … , Δ𝑘 tìm được.
Các số trên một dòng của input/output files được/phải ghi cách nhau ít nhất một dấu cách
Ví dụ
SAW.INP SAW.OUT
4 2 15 16
20 15 10 17
7 4
Giải thích:
Nếu đặt độ cao lưỡi cưa là 15, ta khai thác được 7m gỗ: 5 mét từ cây 1 và 2 mét từ cây 4
Nếu đặt độ cao lưỡi cưa là 16, ta khai thác được 5m gỗ: 4 mét từ cây 1 và 1 mét từ cây 4

Xe Buýt
Một xe buýt của công ty có nhiệm vụ đón nhân viên đến trụ sở làm việc. Trên hành
trình xe buýt sẽ tiếp nhận nhân viên đứng chờ ở các điểm hẹn nếu như xe còn chỗ trống. Xe
buýt có thể sẽ đỗ lại để chờ những công nhân còn chưa kịp đến điểm hẹn. Cho biết thời điểm
mà mỗi nhân viên đến điểm hẹn của mình và thời điểm qua mỗi điểm hẹn của xe buýt. Giả
thiết rằng xe buýt đến điểm hẹn đầu tiên tại thời điểm 0, thời gian xếp khách lên xe coi như
bằng 0. Hãy xác định khoảng thời gian ngắn nhất để xe buýt có thể chở hết số lượng các
nhân viên đến trụ sở làm việc.
Dữ liệu vào từ file BUS.DAT:
• Dòng đầu tiên chứa hai số nguyên dương N và M theo thứ tự là số điểm hẹn và số
chỗ ngồi của xe buýt.
• Dòng thứ i trong số N dòng tiếp theo chứa số nguyên ti là thời gian cần thiết để xe buýt di chuyển
từ điểm hẹn i đến điểm hẹn i+1 (điểm hẹn thứ N+1 sẽ là trụ sở làm việc của công ty), số nguyên K
là số lượng nhân viên đến điểm hẹn i và tiếp đến là K số nguyên là các thời điểm đến điểm hẹn của
K nhân viên.
Giới hạn: 1M2000, 1N200000
Kết quả ghi ra file văn bản BUS.OUT thời gian ngắn nhất tìm được.
Ví dụ:
BUS.DAT BUS.OUT
35 4
1201
112
140234

You might also like