WOOD - Cắt gỗ
Dữ liệu vào: standard input
Dữ liệu ra: standard output
Giới hạn thời gian: 2.0 giây
Giới hạn bộ nhớ: 128 megabyte
Đăng bởi: admin

Nông dân Jonh cần phải cắt M mét gỗ để đem về làm chuồng bó cho đàn bò của mình. Bác có một cái máy cắt gỗ mới, vì vậy mà công việc chặt gỗ cũng chở lên dễ dàng hơn. Tuy nhiên, bác Jonh chỉ được phép để cắt các cây gỗ thành một hàng duy nhất.

Máy cắt gỗ của bác Jonh hoạt động như sau: bác thiết lập một tham số chiều cao H (tính bằng mét), và máy sẽ cắt toàn bộ các cây có chiều cao lớn hơn H (tất nhiên, cây không cao hơn H mét vẫn còn nguyên vẹn). Sau đó bác chỉ chọn những phần cây bị cắt đứt. Ví dụ, nếu hàng cây chứa cây với chiều cao là 20, 15, 10, và 17 mét, và bác Jonh thiết lặp chiều cao là 15 mét, chiều cao các cây còn lại sau khi cắt sẽ là 15, 15, 10, và 15 mét, khi đó bác Jonh sẽ nhặt 5 mét của cây đầu tiên và 2 mét của cây thứ tư và có tổng số là 7 mét gỗ.

Bác Jonh là người tiết kiệm, vì vậy bác không muốn cắt gỗ nhiều hơn cần thiết. Vì vậy bác muốn thiết lập cho máy của mình chiều cao H càng cao càng tốt. Trợ giúp bác Jonh tìm số nguyên chiều cao tối đa của chiều cao H đề bác vẫn có thể cắt ít nhất là M mét gỗ.

INPUT: 

  • Dòng đầu tiên chứa 2 số nguyên dương N (1 ≤ N ≤ 106) là số lượng cây gỗ và M (1 ≤ M ≤ 2*109) là tổng độ dài mét gỗ cần khai thác.
  • Dòng thứ hai chứa N số nguyên dương (nhỏ hơn 109) là chiều cao của mỗi cây gỗ (tính bằng mét). Dữ liệu vào luôn đảm bảo là bác Jonh có thể cắt được M mét gỗ.

OUTPUT: 

  • Một dòng duy nhất là chiều cao H lớn nhất cần thiết lập.

Ví dụ

  • input
    4 7
    20 15 10 17
    output
    15
  • input
    5 20
    4 42 40 26 46
    output
    36
Back to Top