Máy cưa gỗ tối ưu

Xem dưới dạng PDF

Gửi bài giải


Điểm: 20
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 64M
đầu vào: stdin
Đầu ra: stdout

Tác giả:
Kiểu bài tập

Kiểm lâm Tèo cần thu hoạch ít nhất \(M\) mét gỗ. Tèo có \(N\) cái cây với các chiều cao lần lượt là \(A_1, A_2, \dots, A_N\).

Tèo sẽ thiết lập máy cưa ở một độ cao \(H\) (mét, \(H \ge 0\)). Khi cưa chạy qua, tất cả các phần cây có chiều cao lớn hơn \(H\) sẽ bị cắt đi và thu được phần gỗ đó, phần cây có chiều cao \(\le H\) vẫn giữ nguyên.

Hãy giúp Tèo tìm độ cao \(H\) lớn nhất (số nguyên không âm) để thu hoạch được ít nhất \(M\) mét gỗ.

Dữ liệu vào
  • Dòng đầu chứa hai số nguyên dương \(N\) và \(M\) (\(1 \le N \le 10^5\), \(1 \le M \le 10^{18}\)).
  • Dòng thứ hai chứa \(N\) số nguyên dương \(A_1, A_2, \dots, A_N\) là chiều cao các cây (\(1 \le A_i \le 10^9\)).
Dữ liệu ra
  • Một số nguyên duy nhất là độ cao \(H\) tối đa có thể thiết lập.
Ví dụ

Đầu vào:

4 7
20 15 10 17

Đầu ra:

15

Giải thích: Thiết lập độ cao cưa \(H = 15\).

  • Cây thứ nhất (cao 20) cắt được \(20 - 15 = 5\) mét gỗ.
  • Cây thứ hai (cao 15) cắt được \(15 - 15 = 0\) mét gỗ.
  • Cây thứ ba (cao 10) cắt được \(0\) mét gỗ.
  • Cây thứ tư (cao 17) cắt được \(17 - 15 = 2\) mét gỗ. Tổng số gỗ thu được là \(5 + 0 + 0 + 2 = 7\) mét. Đây là độ cao tối đa thỏa mãn. Nếu nâng \(H\) lên 16, ta chỉ thu được \(4 + 0 + 0 + 1 = 5 < 7\) mét gỗ.

Nhận xét

Không có ý kiến tại thời điểm này.