DHBB 2026 - DX44 - 11 - Khai thác cát

Xem dạng PDF

Gửi bài giải

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

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

Công ty ABC đang sở hữu ~n~ mỏ cát, mỏ cát thứ ~i~ ~(1 \le i \le n)~ có trữ lượng là ~A_i~. Công ty vừa ký hợp đồng cung cấp lượng cát là ~S~. Để có lượng cát khai thác đủ cho hợp đồng, Ban giám đốc quyết định đưa ra phương án ở các mỏ như sau:

  • Lựa chọn ra một giới hạn ~k~ và chỉ khai thác ở mỏ có trữ lượng lớn hơn ~k~.

  • Các mỏ có trữ lượng lớn hơn ~k~ sẽ được khai thác cho đến khi trữ lượng đúng bằng ~k~.

  • Lượng cát khai thác thừa sẽ được lưu vào kho để phục vụ cho đơn hàng tiếp theo.

Yêu cầu: Cát là tài nguyên quý giá. Bạn hãy giúp Ban giám đốc xác định giá trị ~k~ để khai thác đủ đảm bảo hợp đồng và lượng cát khai thác thừa là ít nhất.

Input

  • Dòng ~1~: Chứa hai số nguyên dương ~n, S~ ~(1 \le n \le 10^5)~.

  • Dòng ~2~: Ghi ~n~ số nguyên dương ~A_1, A_2, \dots, A_n~ ~(1 \le A_i \le 10^9, \forall i = 1 \rightarrow n)~.

Dữ liệu đảm bảo ~S \le A_1 + A_2 + \dots + A_n~

Output

Số nguyên ~k~ tìm được đảm bảo đủ lượng cát cho hợp đồng và lượng cát khai thác thừa là ít nhất.

Scoring

Subtask Điểm Ràng buộc
1 ~30\%~ ~n \le 1000~ và ~A_1 = A_2 = \dots = A_n~ ~(A_i \le 1000)~
2 ~40\%~ ~n \le 1000~ và ~A_i \le 10^3~ ~(\forall i \in [1, n])~
3 ~30\%~ Không có giới hạn gì thêm.

Sample Input 1

4 3
5 3 7 8

Sample Output 1

6

Sample Input 2

4 10
5 3 7 8

Sample Output 2

3

Notes

  • Trong ví dụ ~1~, sẽ khai thác ở mỏ ~3~ và ~4~ với tổng là ~(7-6) + (8-6) = 3~, vừa đủ cát cần thiết.

  • Trong ví dụ ~2~, sẽ khai thác ở mỏ ~1~, ~3~ và ~4~ với tổng là ~(5-3) + (7-3) + (8-3) = 11~, lượng cát thừa ~1~. Không có phương án tối ưu hơn.


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.