DHBB 2023 - CLK - 11 - Dự trữ nước

Xem dạng PDF

Gửi bài giải

Điểm: 25,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Một con mương cung cấp nước cho đồng ruộng. Để điều tiết dòng chảy, người dân đặt ~n~ cột bê tông xếp cạnh nhau, có cùng độ rộng với con mương và có chiều cao lần lượt là ~a_1, a_2, \dots, a_n~. Khi trời mưa, nước sẽ đọng lại ở các cột có độ cao thấp hơn. Giả sử có ~7~ cột với độ cao lần lượt là ~4, 1, 3, 2, 5, 1, 6~ thì lượng nước mưa đọng lại là ~10~ đơn vị.

Để mặt đáy được bằng phẳng, mọi người muốn nâng các cột bê tông lên. Cụ thể, cần chọn một độ cao ~X~ lớn nhất và nâng các cột có độ cao thấp hơn ~X~ lên bằng ~X~ mà vẫn đảm bảo lượng nước mưa được giữ lại ít nhất là ~M~ đơn vị.

Yêu cầu: Cho độ cao của các cột bê tông và lượng nước cần giữ lại. Hãy tìm độ cao ~X~ lớn nhất thỏa mãn yêu cầu. Giả sử lượng nước khi trời mưa là đủ để ngập các vũng nước và nước không bị thất thoát.

Input

  • Dòng đầu tiên chứa hai số nguyên dương ~n, M~ ~(M \le 10^{18}, n \le 10^5)~;

  • Dòng thứ hai chứa ~n~ số nguyên dương ~a_1, a_2, \dots, a_n~ ~(a_i \le 2 \cdot 10^9)~.

Output

Ghi một số nguyên ~X~ thỏa mãn yêu cầu. Trường hợp không có phương án thì ghi ~-1~.

Sample Input 1

7 4
4 1 3 2 5 1 6

Sample Output 1

3

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.